à partir d'un fichier CSV de noms de fichiers, recherchez et ouvrez plusieurs fichiers dans un dossier (ou sous-dossiers)

StackOverflow https://stackoverflow.com/questions/1046820

  •  20-08-2019
  •  | 
  •  

Question

Chaque dossier de l'appareil photo contient plusieurs milliers de photos. Je dois ouvrir une vingtaine de fichiers spécifiques qui pourraient être situés dans un ou plusieurs dossiers, le tout dans un dossier 'racine':

  

Photos

     

| - CameraA

     

| - CameraB

     

| - CameraC

Je voudrais coller un fichier CSV des noms de fichiers (par exemple, 6504, 6505, 8902, 4501) dans un AppleScript (ou de préférence si AppleScript pourrait me demander une entrée?), l'exécuter et les fichiers s'ouvrir dans Photoshop. Il est fastidieux de rechercher un fichier à la fois sous les projecteurs!

J'ai localisé les scripts pour rechercher un seul fichier, un script pour ouvrir des fichiers dans Photoshop, mais je suis sans espoir dans les tableaux et les boucles, en supposant qu'applescript puisse le faire.

Était-ce utile?

La solution

Avez-vous vraiment besoin que ce soit un AppleScript en particulier? C'est plus facile avec les scripts shell si vous me demandez:

for f in 6504 6505 8902 4501; do find . -name "$f" -exec open -a "Photoshop" {} \;; done

Les numéros sont remplacés par les noms de fichiers et " Photoshop " est remplacé par le nom réel de votre application Photoshop sur le disque (& "; Photoshop CS &"; ou autre).

Autres conseils

ok, j'ai eu un bricolage et est venu avec un demi-AppleScript moitié-ShellScript qui développe sur ce qui précède. Tous les commentaires sont les bienvenus:)

Cela fonctionne en demandant des noms de fichiers partiels (séparés par un espace), en recherchant la fenêtre du Finder la plus haute pour obtenir l'emplacement du dossier actuel (le dossier racine dans lequel effectuer la recherche), en utilisant un shell pour ajouter des étoiles aux requêtes de recherche (en partie). nom de fichier au lieu de complet), effectuez une commande de recherche à partir du dossier "racine" que nous avons déjà ouvert dans le Finder. Les fichiers trouvés sont ouverts dans Photoshop.

tell application "Finder"
try
    activate
    beep 1
    display dialog "Enter your image search:" default answer ""
    set dialogInfo to result
    set imgquery to text returned of dialogInfo

    set frontWin to folder of front window as string
    set frontWinPath to (get POSIX path of frontWin)
    tell application "Terminal"
        activate
        set starredImgQuery to do shell script "echo " & quoted form of imgquery & " | sed 's/ /\\* */g'"
        set starredImgQuery to "*" & starredImgQuery & "*"
        do shell script "cd \"" & frontWinPath & "\";for f in " & starredImgQuery & "; do find . -name \"$f\" -exec open -a \"/Applications/Adobe Photoshop CS4/Adobe Photoshop CS4.app\" {} \\;; done"
    end tell
    tell application "Terminal" to quit
on error error_message
    beep
    display dialog error_message buttons ¬
        {"OK"} default button 1
end try
end tell
Les

commandes shell sont géniales !!

Hmmm, le code ne fonctionne pas pour moi maintenant!

Paniqué et recherché autour d'un & "; projecteur de recherche booléenne &"; - et trouvé EasyFind! Logiciels gratuits de Devon Technologies: http://www.devon-technologies.com/products/freeware/index. html

Plus rapide et facile à adapter, et cela fonctionne pour les recherches booléennes comme ci-dessus, pour rechercher le dossier racine et pour la recherche booléenne: 6504 ou 6505, 8902 ou 4501

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top