@lydy
D'après ton autre message
https://forums.macg.co/threads/recherche-automatique-de-photos-via-une-liste.1318789/#post-13460635
ta liste contient le nom avec l'extension donc ce script devrait faire le job.
Au lancement il te demande de sélectionner le dossier source (il peut contenir les photos et des dossiers contenant eux même des photos...), puis de sélectionner le dossier destination (dans lequel seront dupliquées les photos), puis la liste (au format texte , 1 photo par ligne)
et il n'y a plus qu'a attendre le message de fin. si une ou des photos de la liste ne sont pas trouvées, un fichier lelog.txt est créé sur le bureau contenant la liste des photos non trouvées.
Dis moi si cela fonctionne ou quel est le problème.
Bloc de code:
tell application "Finder"
set cheminsource to choose folder with prompt "Sélectionnez le dossier contenant les fichiers à copier"
set chemincible to choose folder with prompt "Sélectionnez le dossier cible"
set laliste to choose file with prompt "Sélectionnez le fichier liste"
my inspecter(cheminsource, chemincible, laliste)
end tell
on inspecter(source, cible, liste1)
set dossiersource to source as string
set dossiercible to cible as string
set destination to dossiercible
open for access liste1
read liste1
set tout_le_fichier to the result
close access liste1
set nb to count paragraph of tout_le_fichier
repeat with i from 1 to nb
try
tell application "Finder"
set une_ligne to paragraph i of tout_le_fichier
set lefichier to do shell script "find " & quoted form of POSIX path of dossiersource & " -iname " & une_ligne
set CheminImage to POSIX file lefichier as string
duplicate CheminImage to destination
end tell
on error
set lelog to open for access (path to desktop folder as text) & "lelog.txt" as text with write permission -- ouvre le fichier log et ecritles valeur séparé par une tabulation
write "Le fichier " & une_ligne & " N'a pas été trouvé" & return to lelog starting at eof
close access lelog -- ferme le fichier log
end try
end repeat
end inspecter
tell application "Finder"
(display dialog ("waouou ... Ca y est c'est fait !") buttons {"Salut !"})
end tell