![]() |
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. ![]() |
|
|
![]() |
Guest_EricaL**_* |
![]()
Message
#2
|
Guests ![]() |
Bonjour,
Si je comprends bien, tu voudrais déplacer les photos d'un dossier quelconque dans un autre dossier (portraits ou paysages ) selon le format de la photo. Voici un script qui prend (la largeur et la hauteur de l'image) dans les metadonnés "Spotlight"). Ce script ne déplacera aucun fichiers si la hauteur est null, c'est-à-dire que le fichier n'est pas indexé par "Spotlight" ou ce n'est pas une image. Ici, dans les metadonnés "Spotlight", la hauteur est toujours avant la largeur, ça ne doit pas avoir changé avec les différentes versions de OSX Code set dossier_portrait to quoted form of "déposerLeDossierIci" set dossier_paysage to quoted form of "déposerLeDossierIci" set dossier_source to quoted form of POSIX path of (choose folder with prompt "Sélectionner le dossier des photos à trier (portraits et paysages).") do shell script "cd " & dossier_source & " && for tFile in *;do if [ -f \"$tFile\" ];then r=$(/usr/bin/mdls -name kMDItemPixelWidth -name kMDItemPixelHeight \"$tFile\" | /usr/bin/awk ' /kMDItem/ { print $NF }' ORS=\" \") set -- $r if [ \"$1\" != \"(null)\" ]; then if [[ $2 -gt $1 ]]; then /bin/mv \"$tFile\" " & dossier_paysage & " else /bin/mv \"$tFile\" " & dossier_portrait & " fi fi fi; done" Si le volume du dossier des photos n’est pas indexé par "Spotlight". Remplace le do shell script par ceci. Code do shell script "cd " & dossier_source & " && for tFile in *;do if [ -f \"$tFile\" ];then r=$(/usr/bin/sips -g pixelWidth -g pixelHeight \"$tFile\" | /usr/bin/awk ' /pixel/ { print $NF }' ORS=\" \") if [ \"$r\" != \"\" ]; then set -- $r if [[ $1 -gt $2 ]]; then /bin/mv \"$tFile\" " & dossier_paysage & " else /bin/mv \"$tFile\" " & dossier_portrait & " fi fi fi; done" Dans le script supprimme le texte déposerLeDossierIci, glisse/dépose le dossier de destination entre les "" |
|
|
![]() ![]() |
Nous sommes le : 18th July 2025 - 13:36 |