Apple Script du Finder, Problème Add to file name |
Bienvenue invité ( Connexion | Inscription )
Apple Script du Finder, Problème Add to file name |
23 Nov 2018, 17:02
Message
#1
|
|
Adepte de Macbidouille Groupe : Membres Messages : 64 Inscrit : 13 Nov 2002 Lieu : Nantes Intramuros Membre no 4 660 |
Bonjour,
Depuis un moment j'ai un souci avec l'Apple script du Finder Add to file name que j'utilise souvent pour ajouter des éléments aux nom de fichiers. Quand je lance par exemple ajouter en préfixe "Add", le script ajoute Prefix à la fin du nom de fichier. De même pour Suffix, cela vient se placer à la fin du nom de fichier. Exemple: VDN00051456.jpgPrefixSuffixSuffix Je ne sais comment résoudre ce souci. Cordialement. -------------------- Dans la marine il faut saluer tout ce qui bouge et peindre le reste en gris
Mac Book Pro Intel 2,5 Ghz Intel Core i7 16 Go Os 10.12.6 |
|
|
24 Nov 2018, 15:42
Message
#2
|
|
Adepte de Macbidouille Groupe : Membres Messages : 40 Inscrit : 2 Apr 2018 Membre no 204 602 |
Depuis un moment j'ai un souci avec l'Apple script du Finder Add to file name que j'utilise souvent pour ajouter des éléments aux nom de fichiers. Bonjour, Il vient d'où ce script ? Tu peux le copier / coller ici ? Merci Ce message a été modifié par M.V. - 24 Nov 2018, 15:43. |
|
|
26 Nov 2018, 11:48
Message
#3
|
|
Adepte de Macbidouille Groupe : Membres Messages : 64 Inscrit : 13 Nov 2002 Lieu : Nantes Intramuros Membre no 4 660 |
Bonjour
Depuis un moment j'ai un souci avec l'Apple script du Finder Add to file name que j'utilise souvent pour ajouter des éléments aux nom de fichiers. Bonjour, Il vient d'où ce script ? C'est un des scripts natif de l'Os Citation Tu peux le copier / coller ici ? Ok: Code (* Add to File Names This script is designed to add a prefix or suffix to files in the front window of the desktop. If no folder windows are open, the script will affect items on the desktop. Copyright © 2001–2007 Apple Inc. You may incorporate this Apple sample code into your program(s) without restriction. This Apple sample code has been provided "AS IS" and the responsibility for its operation is yours. You are not permitted to redistribute this Apple sample code as "Apple sample code" after having made changes. If you're going to redistribute the code, we require that you make it clear that the code was descended from Apple sample code, but that you've made changes. *) -- The following line is disabled due to a Menu Manager bug --set the source_folder to (choose folder with prompt "Pick the folder containing the files to rename:") try tell application "Finder" to set the source_folder to (folder of the front window) as alias on error -- no open folder windows set the source_folder to path to desktop folder as alias end try set the prefix_or_suffix to "" repeat display dialog "Enter the prefix or suffix to use:" default answer the prefix_or_suffix buttons {"Cancel", "Prefix", "Suffix"} copy the result as list to {the prefix_or_suffix, the button_pressed} if the prefix_or_suffix is not "" then exit repeat end repeat set the item_list to list folder source_folder without invisibles set source_folder to source_folder as string repeat with i from 1 to number of items in the item_list set this_item to item i of the item_list set this_item to (source_folder & this_item) as alias set this_info to info for this_item set the current_name to the name of this_info if folder of this_info is false and ¬ alias of this_info is false then if the button_pressed is "Prefix" then set the new_file_name to the (the prefix_or_suffix & the current_name) as string else set the new_file_name to the (the current_name & the prefix_or_suffix) as string end if my set_item_name(this_item, the new_file_name) end if end repeat beep 2 on set_item_name(this_item, new_item_name) tell application "Finder" --activate set the parent_container_path to (the container of this_item) as text if not (exists item (the parent_container_path & new_item_name)) then try set the name of this_item to new_item_name on error the error_message number the error_number if the error_number is -59 then set the error_message to "This name contains improper characters, such as a colon (:)." else --the suggested name is too long set the error_message to error_message -- "The name is more than 31 characters long." end if --beep tell me to display dialog the error_message default answer new_item_name buttons {"Cancel", "Skip", "OK"} default button 3 copy the result as list to {new_item_name, button_pressed} if the button_pressed is "Skip" then return 0 my set_item_name(this_item, new_item_name) end try else --the name already exists --beep tell me to display dialog "This name is already taken, please rename." default answer new_item_name buttons {"Cancel", "Skip", "OK"} default button 3 copy the result as list to {new_item_name, button_pressed} if the button_pressed is "Skip" then return 0 my set_item_name(this_item, new_item_name) end if end tell end set_item_name Voilà Merci Ce message a été modifié par baron - 26 Nov 2018, 17:06.
Raison de l'édition : Correction des balises QUOTE
-------------------- Dans la marine il faut saluer tout ce qui bouge et peindre le reste en gris
Mac Book Pro Intel 2,5 Ghz Intel Core i7 16 Go Os 10.12.6 |
|
|
26 Nov 2018, 14:29
Message
#4
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 879 Inscrit : 4 Apr 2004 Lieu : Lorraine - 54 Membre no 17 184 |
Citation C'est un des scripts natif de l'Os Peut être oui, mais sans doute pas de ton OS actuel ... Je ne retrouve en tous les cas pas le script dans mon système 10.12.6 Une ligne a été désactivée mentionnant la présence d'un Bug qui ne semble pas exister chez moi (ce n'est pas la cause du dysfonctionnement mais ça limite un peu le script au "renommage" des fichiers du bureau uniquement quand aucune fenêtre n'est ouverte dans le Finder alors qu'il est capable d'aller renommer dans le répertoire de ton choix). C'est pas très grave et on peut laisser comme ça en attendant. Le problème se situe au niveau des deux lignes suivantes: Code display dialog "Enter the prefix or suffix to use:" default answer the prefix_or_suffix buttons {"Cancel", "Prefix", "Suffix"} copy the result as list to {the prefix_or_suffix,the button_pressed} En fait display dialog "Enter the prefix or suffix to use:" default answer "" buttons {"Cancel", "Prefix", "Suffix"} renvoie d'abord le bouton et ensuite le texte Citation --> {button returned:"Suffix", text returned:"Test"} Alors que la ligne "Copy the result ..." récupère ces paramètres dans le mauvais ordre (peut être un changement de comportement des commandes display dialog depuis la date ou elles ont été créées?) Si tu remplace dans ton script : Code copy the result as list to {the prefix_or_suffix, the button_pressed} parCode copy the result as list to {the button_pressed, the prefix_or_suffix} ca devrait fonctionner mieux
Ce message a été modifié par teddy7545 - 26 Nov 2018, 19:22. -------------------- MP Intel Dual Xéon 3 GHz - MacOSX 10.10.3 - ATI Radeon HD 5770 - ATTO UL5D - Apple Cinema HD Display 23 pouces MBP 15' 2017 - MBP 13' mid 2009 - iMac 24' 8,1 2,8GHz - MP G4 MDD Bi 1,25 GHz - MP G4 Quicksylver 933MHz |
|
|
29 Nov 2018, 12:13
Message
#5
|
|
Adepte de Macbidouille Groupe : Membres Messages : 64 Inscrit : 13 Nov 2002 Lieu : Nantes Intramuros Membre no 4 660 |
Hello Teddy Citation C'est un des scripts natif de l'Os Peut être oui, mais sans doute pas de ton OS actuel ... Je ne retrouve en tous les cas pas le script dans mon système 10.12.6 C'est un script que je balade depuis longtemps de Mac en Mac Une ligne a été désactivée mentionnant la présence d'un Bug qui ne semble pas exister chez moi (ce n'est pas la cause du dysfonctionnement mais ça limite un peu le script au "renommage" des fichiers du bureau uniquement quand aucune fenêtre n'est ouverte dans le Finder alors qu'il est capable d'aller renommer dans le répertoire de ton choix). C'est pas très grave et on peut laisser comme ça en attendant. Le problème se situe au niveau des deux lignes suivantes: Code display dialog "Enter the prefix or suffix to use:" default answer the prefix_or_suffix buttons {"Cancel", "Prefix", "Suffix"} copy the result as list to {the prefix_or_suffix,the button_pressed} En fait display dialog "Enter the prefix or suffix to use:" default answer "" buttons {"Cancel", "Prefix", "Suffix"} renvoie d'abord le bouton et ensuite le texte Citation --> {button returned:"Suffix", text returned:"Test"} Alors que la ligne "Copy the result ..." récupère ces paramètres dans le mauvais ordre (peut être un changement de comportement des commandes display dialog depuis la date ou elles ont été créées?) Si tu remplace dans ton script : Code copy the result as list to {the prefix_or_suffix, the button_pressed} parCode copy the result as list to {the button_pressed, the prefix_or_suffix} ca devrait fonctionner mieuxAlors j'ai fait la modif, voilà ce que ça donne (PJ) mais cela ne fonctionne pas
Fichier(s) joint(s)
-------------------- Dans la marine il faut saluer tout ce qui bouge et peindre le reste en gris
Mac Book Pro Intel 2,5 Ghz Intel Core i7 16 Go Os 10.12.6 |
|
|
29 Nov 2018, 18:44
Message
#6
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 879 Inscrit : 4 Apr 2004 Lieu : Lorraine - 54 Membre no 17 184 |
Bonsoir,
Citation C'est un script que je balade depuis longtemps de Mac en Mac C'est bien ce que je pensais Citation Alors j'ai fait la modif, voilà ce que ça donne (PJ) mais cela ne fonctionne pas J'avais testé la solution que j'avais proposé et ça fonctionne parfaitement sur un système 10.12.6Il doit donc rester une petite erreur à corriger chez toi. Quand tu dis ça ne fonctionne pas, tu devrais plutôt décrire ce qui se passe exactement. Le comportement n'est certainement pas identique qu'avant. Dans la pièces jointe je ne vois que les lignes que j'ai proposé de modifier mais pas ce que tu obtiens. As tu regardé dans l'onglet réponse du cadre inférieur dans l'éditeur de Script ? Tu devrais y trouver ce qui se passe. Voilà ce que tu devrais avoir dans ton code (j'ai raccourci la deuxième partie pour alléger dans le forum mais le code de la fonction "on set_item_name" doit être conservé intégralement sans modification. Code try
tell application "Finder" to set the source_folder to (folder of the front window) as alias on error -- no open folder windows set the source_folder to path to desktop folder as alias end try set the prefix_or_suffix to "" set the button_pressed to "" repeat display dialog "Enter the prefix or suffix to use:" default answer the prefix_or_suffix buttons {"Cancel", "Prefix", "Suffix"} copy the result as list to {the button_pressed, the prefix_or_suffix} if the prefix_or_suffix is not "" then exit repeat end repeat set the item_list to list folder source_folder without invisibles set source_folder to source_folder as string repeat with i from 1 to number of items in the item_list set this_item to item i of the item_list set this_item to (source_folder & this_item) as alias set this_info to info for this_item set the current_name to the name of this_info if folder of this_info is false and ¬ alias of this_info is false then if the button_pressed is "Prefix" then set the new_file_name to the (the prefix_or_suffix & the current_name) as string else set the new_file_name to the (the current_name & the prefix_or_suffix) as string end if my set_item_name(this_item, the new_file_name) end if end repeat beep 2 on set_item_name(this_item, new_item_name) .....(CODE ORIGINAL A RECONDUIRE - NON MODIFIE ICI) end set_item_name Ce message a été modifié par teddy7545 - 29 Nov 2018, 18:45. -------------------- MP Intel Dual Xéon 3 GHz - MacOSX 10.10.3 - ATI Radeon HD 5770 - ATTO UL5D - Apple Cinema HD Display 23 pouces MBP 15' 2017 - MBP 13' mid 2009 - iMac 24' 8,1 2,8GHz - MP G4 MDD Bi 1,25 GHz - MP G4 Quicksylver 933MHz |
|
|
30 Nov 2018, 11:53
Message
#7
|
|
Adepte de Macbidouille Groupe : Membres Messages : 64 Inscrit : 13 Nov 2002 Lieu : Nantes Intramuros Membre no 4 660 |
Bonsoir, Bonjour Citation C'est un script que je balade depuis longtemps de Mac en Mac C'est bien ce que je pensais Apple Script est toujours natif dans les versions récentes? Citation Alors j'ai fait la modif, voilà ce que ça donne (PJ) mais cela ne fonctionne pas J'avais testé la solution que j'avais proposé et ça fonctionne parfaitement sur un système 10.12.6Il doit donc rester une petite erreur à corriger chez toi. Quand tu dis ça ne fonctionne pas, tu devrais plutôt décrire ce qui se passe exactement. Je veux dire que le résultat du script présente toujours la même erreur. Celle que je montre dans mon premier post. Le comportement n'est certainement pas identique qu'avant. Dans la pièces jointe je ne vois que les lignes que j'ai proposé de modifier mais pas ce que tu obtiens. J'obtiens ce que tu vois en PJ As tu regardé dans l'onglet réponse du cadre inférieur dans l'éditeur de Script ? Tu devrais y trouver ce qui se passe. Ah alors là, je découvre! Une fois la modif entrée, il faut jouer le script et voir ce qui s'affiche dans Réponses. C'est ça? Comme tu le constate je ne suis pas expert!! Du coup ça fonctionne!! Voilà ce que tu devrais avoir dans ton code (j'ai raccourci la deuxième partie pour alléger dans le forum mais le code de la fonction "on set_item_name" doit être conservé intégralement sans modification. Si je compare avec mon code, il n'y a que cette ligne ci-dessous qui n'y est pas set the button_pressed to "" Code try tell application "Finder" to set the source_folder to (folder of the front window) as alias on error -- no open folder windows set the source_folder to path to desktop folder as alias end try set the prefix_or_suffix to "" set the button_pressed to "" repeat display dialog "Enter the prefix or suffix to use:" default answer the prefix_or_suffix buttons {"Cancel", "Prefix", "Suffix"} copy the result as list to {the button_pressed, the prefix_or_suffix} if the prefix_or_suffix is not "" then exit repeat end repeat set the item_list to list folder source_folder without invisibles set source_folder to source_folder as string repeat with i from 1 to number of items in the item_list set this_item to item i of the item_list set this_item to (source_folder & this_item) as alias set this_info to info for this_item set the current_name to the name of this_info if folder of this_info is false and ¬ alias of this_info is false then if the button_pressed is "Prefix" then set the new_file_name to the (the prefix_or_suffix & the current_name) as string else set the new_file_name to the (the current_name & the prefix_or_suffix) as string end if my set_item_name(this_item, the new_file_name) end if end repeat beep 2 on set_item_name(this_item, new_item_name) .....(CODE ORIGINAL A RECONDUIRE - NON MODIFIE ICI) end set_item_name Un grand MERCI! -------------------- Dans la marine il faut saluer tout ce qui bouge et peindre le reste en gris
Mac Book Pro Intel 2,5 Ghz Intel Core i7 16 Go Os 10.12.6 |
|
|
30 Nov 2018, 16:13
Message
#8
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 879 Inscrit : 4 Apr 2004 Lieu : Lorraine - 54 Membre no 17 184 |
Citation Ah alors là, je découvre! Une fois la modif entrée, il faut jouer le script et voir ce qui s'affiche dans Réponses. C'est ça? Oui ça permet de voir tout ce qui se passe pendant l'exécution du script et éventuellement pourquoi il ne fait pas ce que tu voudrais qu'il fasse.Citation Si je compare avec mon code, il n'y a que cette ligne ci-dessous qui n'y est pas --> set the button_pressed to "" Oui j'avais en effet oublié de préciser que j'avais fais aussi cette adaptation pour éviter une erreur par absence de déclaration de la variable dans le script mais en réalité dans ce cas ça fonctionne correctement même sans ajouter cette ligneCitation Du coup ça fonctionne!! Super tant mieux Moyennant quelques légères modifications, il est possible sur cette base de faire toutes les modifications de nom de fichier que tu souhaites. Par exemple, pour corriger ce que le script erroné avait fait dans mon bureau quand j'ai testé ton script initial, j'ai utilisé ce même script (adapté) pour supprimer x caractères à la fin de chaque nom -------------------- MP Intel Dual Xéon 3 GHz - MacOSX 10.10.3 - ATI Radeon HD 5770 - ATTO UL5D - Apple Cinema HD Display 23 pouces MBP 15' 2017 - MBP 13' mid 2009 - iMac 24' 8,1 2,8GHz - MP G4 MDD Bi 1,25 GHz - MP G4 Quicksylver 933MHz |
|
|
2 Dec 2018, 19:04
Message
#9
|
|
Adepte de Macbidouille Groupe : Membres Messages : 64 Inscrit : 13 Nov 2002 Lieu : Nantes Intramuros Membre no 4 660 |
Bonsoir Teddy, Citation Ah alors là, je découvre! Une fois la modif entrée, il faut jouer le script et voir ce qui s'affiche dans Réponses. C'est ça? Oui ça permet de voir tout ce qui se passe pendant l'exécution du script et éventuellement pourquoi il ne fait pas ce que tu voudrais qu'il fasse.Citation Si je compare avec mon code, il n'y a que cette ligne ci-dessous qui n'y est pas --> set the button_pressed to "" Oui j'avais en effet oublié de préciser que j'avais fais aussi cette adaptation pour éviter une erreur par absence de déclaration de la variable dans le script mais en réalité dans ce cas ça fonctionne correctement même sans ajouter cette ligneCitation Du coup ça fonctionne!! Super tant mieux Encore merci Moyennant quelques légères modifications, il est possible sur cette base de faire toutes les modifications de nom de fichier que tu souhaites. Par exemple, pour corriger ce que le script erroné avait fait dans mon bureau quand j'ai testé ton script initial, j'ai utilisé ce même script (adapté) pour supprimer x caractères à la fin de chaque nom Oui je suppose qu'on peut jouer avec plusieurs combinaisons pour Ajouter/Supprimer mais je ne suis pas assez expert pour me lancer dans ces expérimentations! -------------------- Dans la marine il faut saluer tout ce qui bouge et peindre le reste en gris
Mac Book Pro Intel 2,5 Ghz Intel Core i7 16 Go Os 10.12.6 |
|
|
Nous sommes le : 29th March 2024 - 16:23 |