![]() |
Bienvenue invité ( Connexion | Inscription )
![]() |
![]() ![]()
Message
#1
|
|
Adepte de Macbidouille ![]() Groupe : Membres Messages : 109 Inscrit : 11 Jan 2010 Membre no 148 488 ![]() |
Bonjour,
J'ai un dossier avec plus de 5000 photos à trier, je dois extraire les photos au format portrait dans un répertoire "portrait" et les photos "paysage" dans un répertoire "paysage", bref est-ce possible ?, il faudrait par exemple que le script puisse calculer si la hauteur et inférieur à la largeur de l'image = Paysage et si la hauteur et supérieur à la largeur = portrait.. ![]() Ah moin qu'il soit possible de faire cela sous Photoshop, mais rien n'y fait avec l'option adapter l'image.... Merci pour votre aide. ![]() |
|
|
![]() |
![]() ![]()
Message
#2
|
|
Adepte de Macbidouille ![]() Groupe : Membres Messages : 109 Inscrit : 11 Jan 2010 Membre no 148 488 ![]() |
Salut !
Houla ! je suis largué ![]() sinon si j’exécute en double cliquant dessus (enregitrer en application) et que je met une image dans "PHOTOS" rien ne ce passe. Code property ajout : {}
property sous_dossiers : {} property masterFolder : "" property dossier_a_traiter : "" on idle -- collection Debut set dossier_a_traiter to "/Volumes/Rack-Pro/CANON/★AUTOMATOR/collection/PHOTOS" --**** tell my rechercheFichiers(dossier_a_traiter) to if it is not "" then my action7(it) -- si des éléments sont trouvés, execute la fonction action7 -- cette ligne qui finit par /PHOTOS-PAYSAGES" + les deux lignes suivantes ont été supprimées --****- set dossier_a_traiter to "/Volumes/Rack-Pro/CANON/★AUTOMATOR/collection/PIC" tell my rechercheFichiers(dossier_a_traiter) to if it is not "" then my action9(it) -- si des éléments sont trouvés, execute la fonction action9 -- collection Fin return 30 -- 20 secondes avant la prochaine execution du idle end idle on quit continue quit end quit -- collection PORTRAIT et PAYSAGE DEBUT on action7(tFiles) script ob -- seulement les actions Photoshop on PSD_process(this_path) set tCollection to "collection-paysage" --****+ tell application "Adobe Photoshop CS5" open alias this_path showing dialogs never tell the current document if width < height then set tCollection to "collection-portrait" -- format Portrait--****+ do action "MINI" from tCollection--**** do action "MED" from tCollection--**** do action "MAXI" from tCollection--**** do action "PRM" from tCollection--**** close saving no end tell end tell end PSD_process end script set ajout to {"_mini", "_med", "_maxi", "_prm"} -- selon l'ordre des dossiers (dans la ligne suivante) set sous_dossiers to {"MINI", "MED", "MAXI", "PRM"} set masterFolder to "/Users/monmac/Pictures/RESULTAT" -- le dossier parent des sous dossier "MINI", "MED", "MAXI", "PRM" set dossiersDimages to {} repeat with f in tFiles -- boucle qui ne traite que les fichiers set this_path to (POSIX file f) as string if not my isDownloading(this_path as alias) then -- le fichier ou dossier ne se télécharge pas if ((alias this_path) as string) ends with ":" then -- c'est un dossier set end of dossiersDimages to contents of f -- on met le chemin du dossier dans une liste else ob's PSD_process(this_path) -- traite le fichier dans Photoshop my deplace(f) -- déplace le fichier dans le sous dossier "tempo" end if end if end repeat my renomme() set d to "" my deplace_images_creer("/Users/monmac/Pictures/RESULTAT/★ REGROUPEMENT/collection_recup", d) --<-- mettre ici le chemin du dossier de destination repeat with d in dossiersDimages -- boucle qui traite les dossiers d'images set tFiles to do shell script "/usr/bin/find " & (quoted form of d) & " -maxdepth 1 -type f \\! -name '.*'" if tFiles is not "" then repeat with f in (get paragraphs of tFiles) ob's PSD_process((POSIX file f) as string) -- traite le fichier dans Photoshop end repeat my deplace(d) -- déplace le dossier dans le sous dossier "tempo" my renomme() my deplace_images_creer("/Users/monmac/Pictures/RESULTAT/★ REGROUPEMENT/collection_recup", d) --<-- mettre ici le chemin du dossier de destination end if end repeat end action7 -- collection PORTRAIT et PAYSAGE FIN |
|
|
Guest_EricaL**_* |
![]()
Message
#3
|
Guests ![]() |
Bonjour,
Houla ! je suis largué ![]() Il fallait le supprimer sinon si j’exécute en double cliquant dessus (enregitrer en application) et que je met une image dans "PHOTOS" rien ne ce passe. Vérifie que l'action de dossier du dossier "PHOTOS" est bien activé. Voici le script au complet. Code property ajout : {}
property sous_dossiers : {} property masterFolder : "" property dossier_a_traiter : "" on idle -- collection Debut set dossier_a_traiter to "/Volumes/Rack-Pro/CANON/★AUTOMATOR/collection/PHOTOS" --**** tell my rechercheFichiers(dossier_a_traiter) to if it is not "" then my action7(it) -- si des éléments sont trouvés, execute la fonction action7 -- cette ligne qui finit par /PHOTOS-PAYSAGES" + les deux lignes suivantes ont été supprimées --****- set dossier_a_traiter to "/Volumes/Rack-Pro/CANON/★AUTOMATOR/collection/PIC" tell my rechercheFichiers(dossier_a_traiter) to if it is not "" then my action9(it) -- si des éléments sont trouvés, execute la fonction action9 -- collection Fin return 30 -- 20 secondes avant la prochaine execution du idle end idle on quit continue quit end quit -- collection PORTRAIT et PAYSAGE DEBUT on action7(tFiles) script ob -- seulement les actions Photoshop on PSD_process(this_path) set tCollection to "collection-paysage" --****+ tell application "Adobe Photoshop CS5" open alias this_path showing dialogs never tell the current document if width < height then set tCollection to "collection-portrait" -- format Portrait--****+ do action "MINI" from tCollection--**** do action "MED" from tCollection--**** do action "MAXI" from tCollection--**** do action "PRM" from tCollection--**** close saving no end tell end tell end PSD_process end script set ajout to {"_mini", "_med", "_maxi", "_prm"} -- selon l'ordre des dossiers (dans la ligne suivante) set sous_dossiers to {"MINI", "MED", "MAXI", "PRM"} set masterFolder to "/Users/monmac/Pictures/RESULTAT" -- le dossier parent des sous dossier "MINI", "MED", "MAXI", "PRM" set dossiersDimages to {} repeat with f in tFiles -- boucle qui ne traite que les fichiers set this_path to (POSIX file f) as string if not my isDownloading(this_path as alias) then -- le fichier ou dossier ne se télécharge pas if ((alias this_path) as string) ends with ":" then -- c'est un dossier set end of dossiersDimages to contents of f -- on met le chemin du dossier dans une liste else ob's PSD_process(this_path) -- traite le fichier dans Photoshop my deplace(f) -- déplace le fichier dans le sous dossier "tempo" end if end if end repeat my renomme() set d to "" my deplace_images_creer("/Users/monmac/Pictures/RESULTAT/★ REGROUPEMENT/collection_recup", d) --<-- mettre ici le chemin du dossier de destination repeat with d in dossiersDimages -- boucle qui traite les dossiers d'images set tFiles to do shell script "/usr/bin/find " & (quoted form of d) & " -maxdepth 1 -type f \\! -name '.*'" if tFiles is not "" then repeat with f in (get paragraphs of tFiles) ob's PSD_process((POSIX file f) as string) -- traite le fichier dans Photoshop end repeat my deplace(d) -- déplace le dossier dans le sous dossier "tempo" my renomme() my deplace_images_creer("/Users/monmac/Pictures/RESULTAT/★ REGROUPEMENT/collection_recup", d) --<-- mettre ici le chemin du dossier de destination end if end repeat end action7 -- collection PORTRAIT et PAYSAGE FIN -- collection PIC DEBUT on action9(tFiles) script ob -- seulement les actions Photoshop on PSD_process(this_path) tell application "Adobe Photoshop CS5" open alias this_path showing dialogs never tell the current document do action "PIC" from "collection-pic-picmax" do action "PICMAX" from "collection-pic-picmax" close saving no end tell end tell end PSD_process end script set ajout to {"_pic", "_picmax"} -- selon l'ordre des dossiers (dans la ligne suivante) set sous_dossiers to {"PIC", "PICMAX"} set masterFolder to "/Users/monmac/Pictures/RESULTAT" -- le dossier parent des sous dossier "PIC", "PICMAX" set dossiersDimages to {} repeat with f in tFiles -- boucle qui ne traite que les fichiers set this_path to (POSIX file f) as string if not my isDownloading(this_path as alias) then -- le fichier ou dossier ne se télécharge pas if ((alias this_path) as string) ends with ":" then -- c'est un dossier set end of dossiersDimages to contents of f -- on met le chemin du dossier dans une liste else ob's PSD_process(this_path) -- traite le fichier dans Photoshop my deplace(f) -- déplace le fichier dans le sous dossier "tempo" end if end if end repeat my renomme() set d to "" my deplace_images_creer("/Users/monmac/Pictures/RESULTAT/★ REGROUPEMENT/collection_recup", d) --<-- mettre ici le chemin du dossier de destination repeat with d in dossiersDimages -- boucle qui traite les dossiers d'images set tFiles to do shell script "/usr/bin/find " & (quoted form of d) & " -maxdepth 1 -type f \\! -name '.*'" if tFiles is not "" then repeat with f in (get paragraphs of tFiles) ob's PSD_process((POSIX file f) as string) -- traite le fichier dans Photoshop end repeat my deplace(d) -- déplace le dossier dans le sous dossier "tempo" my renomme() my deplace_images_creer("/Users/monmac/Pictures/RESULTAT/★ REGROUPEMENT/collection_recup", d) --<-- mettre ici le chemin du dossier de destination end if end repeat end action9 -- collection_rouge PIC FIN on renomme() set n to 1 repeat with ceDossier in sous_dossiers -- chaque nom de dossier de la liste sous_dossiers set t_folder to quoted form of (masterFolder & "/" & ceDossier) do shell script "ajout=" & (quoted form of (item n of ajout)) & " cd " & t_folder & " && /usr/bin/find . -type f -maxdepth 1 \\! -name \"*$ajout.*\" \\! -name \"*$ajout\" \\! -name '.*' -print0 | while read -d $'\\0' f; do nom=${f%.*}; ext=${f##*.}; if [ \"$nom\" = \"\" ]; then /bin/mv -f \"$f\" \"$f$ajout\"; else /bin/mv -f \"$f\" \"$nom$ajout.$ext\"; fi done" set n to n + 1 end repeat end renomme on isDownloading(f) set s to size of (info for f) delay 6 return (size of (info for f)) < s end isDownloading on rechercheFichiers(d) -- recherche fichiers et dossiers set tFiles to do shell script "/usr/bin/find " & (quoted form of d) & " -maxdepth 1 -mindepth 1 \\! -name '.*' \\! -name 'tempo'" if tFiles is not "" then return paragraphs of tFiles return "" end rechercheFichiers on deplace(f) -- déplace le (fichier original ou le dossier contenant les fichiers originaux) dans le sous dossier "tempo" -- si un élément du meme nom existe deja dans le dossier de destination, un nombre sera ajouté au nom set destPath to quoted form of (dossier_a_traiter & "/tempo") do shell script "dest=" & destPath & ";f=" & (quoted form of f) & "; name=${f##*/}; i=\"\" if [[ \"$name\" != *.* ]]; then ext=\"\"; base=\"$name\"; else base=${name%.*}; ext=.${name##*.};fi while [ -e \"$dest/$base$i$ext\" ]; do ((i++)); done; /bin/mv \"$f\" \"$dest/$base$i$ext\"" end deplace on deplace_images_creer(d, dossier) -- déplace les images dans le dossier spécifié -- si un élément du meme nom existe deja dans le dossier spécifié, un nombre sera ajouté au nom if dossier is "" then -- ce sont des images qui ont été déposées set destPath to quoted form of d set thisFolder to (POSIX file d) as string else -- c'est dossier qui a été déposée set r to do shell script "d=" & (quoted form of dossier) & "; nom=${d##*/}; i=\"\" cd " & (quoted form of d) & ";while [ -e \"$nom$i\" ];do ((i++)) done /bin/mkdir \"$nom$i\"; echo \"$nom$i\"" -- création du dossier set destPath to quoted form of (d & "/" & r) set thisFolder to (POSIX file (d & "/" & r)) as string end if repeat with ceDossier in sous_dossiers -- chaque nom de dossier de la liste sous_dossiers set t_folder to quoted form of (masterFolder & "/" & ceDossier) do shell script "dest=" & destPath & " /usr/bin/find " & t_folder & " -type f -maxdepth 1 \\! -name '.*' -print0 | while read -d $'\\0' f; do name=${f##*/}; if [ -e \"$dest/$name\" ];then i=1; if [[ \"$name\" != *.* ]]; then ext=\"\"; base=\"$name\"; else base=${name%.*}; ext=.${name##*.};fi while [ -e \"$dest/$base$i$ext\" ];do ((i++)) done name=\"$base$i$ext\" fi /bin/mv \"$f\" \"$dest/$name\" done" end repeat tell application "Finder" to try -- étiquette verte set label index of document files of folder thisFolder whose name extension is in {"gif", "png"} and (name contains "_mini." or name contains "_pic.") and it's label index is not 6 to 6 end try end deplace_images_creer Ce message a été modifié par EricaL** - 18 Jul 2011, 14:34. |
|
|
![]() ![]() |
Nous sommes le : 18th July 2025 - 07:04 |