Bonjour,
Je ne sais pas comment coder l'applescript qui va me permettre de modifier mon suffixe de sortie d'appareil photo des fichiers ".JPG" en ".jpg" (minuscules).
Quelqu'un peut-il m'aider ?
MERCI BEAUCOUP +++
Bonjour,
Je ne sais pas comment coder l'applescript qui va me permettre de modifier mon suffixe de sortie d'appareil photo des fichiers ".JPG" en ".jpg" (minuscules).
Quelqu'un peut-il m'aider ?
MERCI BEAUCOUP +++
Bonsoir Gourmand69,
Cela fait bien longtemps que personne n'avait posé ce genre de question sur ce forum ! Bienvenu.
Voici un script qui réponds à ton souhait de changer les .JPG en .jpg, bien que je reste dubitatif sur l'utilité d'un tel changement...
Tu copies/colles ce script dans l'éditeur de script.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 -- change l'extension .JPG en .jpg pour les fichiers sélectionnés property ext1 : "JPG" property ext2 : "jpg" tell application "Finder" set Liste to selection if (count of Liste) = 0 then return repeat with F in Liste if name extension of F is ext1 then set name extension of F to ext2 end repeat end tell
Ce script traite les fichiers sélectionnés dans le Finder et seulement ceux qui comportent l'extension JPG.
Donc tu sélectionnes des fichiers et tu exécutes ce programme.
Il est aussi possible d'insérer ce script dans un service Automator: ce service sera disponible par un click droit, une fois la sélection des fichiers faite.
A toi de voir le plus pratique dans ton cas.
Cordialement
Bonjour PBell,
Merci beaucoup de m'aider c'est vraiment sympa.
J'ai intégré ce code à AppleScript comme suit :
mais il me retourne une erreur de syntaxe :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 on run {input, parameters} property ext1 : "JPG" property ext2 : "jpg" tell application "Finder" set Liste to selection if (count of Liste) = 0 then return repeat with F in Liste if name extension of F is ext1 then set name extension of F to ext2 end repeat end tell return input end run
Je souhaite que cette conversion .JPG en .jpg soit faite dans un dossier bien spécifique uniquement (sortie d'appareil photo) et non sur l'ensemble du Finder."end" prévu" mais "property" trouvé
J'ai donc remplacé
par
Code : Sélectionner tout - Visualiser dans une fenêtre à part tell application "Finder"
mais je ne sais pas du tout si c'est bon, du fait de l'erreur de syntaxe ci-dessus qui empêche l'exécution du script.
Code : Sélectionner tout - Visualiser dans une fenêtre à part tell folder "SNAP"
Je suis trop novice là, c'est super sympa de m'aider et peut-être que ça pourra profiter à d'autres...
Encore merci ! 😀👍
Bonsoir,
Effectivement, les "properties" doivent être définies hors du handler "on run". En clair, tu dois mettre ton "On Run..." entre les lignes "property..." et "tell application "Finder..."
Si cela va résoudre ton problème de syntaxe/compilation, mais cela ne va rien donner de plus.
En fait, j'ai écrit le script en me basant sur le fait que les fichiers à modifier pouvaient être n'importe où, du moment qu'ils sont sélectionnés avant de lancer le script.
Par exemple, tu ouvres ton dossier "SNAP", tu sélectionnes tous les fichiers qu'il contient (touches Cmd A) et tu lances le script qui ne va modifier que les fichiers sélectionnés qui ont une extension "JPG".
Les fichiers avec d'autres extensions ne seront pas changés,...en particulier ceux étant déjà en "jpg" !
Pour que tu comprennes bien, je vais détailler les lignes du script:
La ligne tell application "Finder" signifie simplement qu'à partir de là, et jusqu'au end tell, le script utilise des fonctions du Finder:
- prendre la liste des fichiers actuellement sélectionnés par l'utilisateur
- Si rien n'est sélectionné, le "return" termine le programme
- dans la boucle repeat/end repeat, le script utilise la fonction du "Finder" pour lire l'extension de chaque fichier et si elle est égale à "JPG" le script utilise la fonction du Finder pour changer cette extension en "jpg".
Comme tu le vois, l'appel au Finder est juste là pour utiliser les fonctions prédéfinies de manipulation de fichier du Finder. Cela n'a rien à voir avec le dossier où sont stockés les fichiers à traiter.
Pour les experts, je précise que ces instructions du Finder, si elles sont bien pratiques, peuvent s'exécuter lentement sur des grands nombres de fichiers. En cas de traitement de plusieurs centaines de fichier en une fois, mieux vaut passer par des commande shell. (ou lancer plusieurs fois le script sur de petites sélections !)
J'espère être clair.
Quant à l'utilisation de la fonction toujours dans le même dossier, on pourrait faire appel à une action de dossier (j'ai écrit il y a un certain temps un article complet à ce sujet dans ce même forum. https://mac.developpez.com/cours/act...erapplescript/)
Avec cette méthode, dès qu'un fichier est ajouté au dossier, un script est lancé avec pour paramètre le fichier ajouté.
Cependant, cette méthode appliquée sur des ajouts en masse "oublie" parfois un fichier (cf explication dans l'article). Si tes images proviennent d'un téléchargement de ton appareil photo, cela risque d'être le cas.
En outre, cette méthode s'applique uniquement lors de l'ajout du fichier dans le dossier, mais pas sur les fichier déjà présents dans ce dossier.
C'est pourquoi je te conseille plutôt de garder mon script et de le mettre en service dans Automator pour l'avoir en click droit.
Par exemple tu ouvres un dossier (SNAP ou autre !), tu sélectionnes tous ou partie des fichiers et click droit pour lancer le service !
Cordialement
Bonjour PBell,
Cela fonctionne À MERVEILLE, juste en déplaçant les properties !! Vraiment génial.
Un grand GRAND merci pour cette aide rapide et ultra efficace !😀👍
Partager