|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : novembre 2012 Messages : 4 ![]() |
Bonjour,
Je voudrais automatiser un "renommage" de fichiers : Pour chaque nom dans un dossier rechercher le 1er caractère alphabetique rechercher le dernier tiret recopier du 1er alpha au dernier tiret, en début de nom exemple 000000138432-nom1_nom2-azerty devient nom1_nom2-000000138432-nom1_nom2-azerty Comment faire : applescript, automator ou commande du type grep ou sed ? Pourriez-vous m indiquer comment coder cette manip ? Merci d avance. Didier MBP15 2010 MacOS 10.6.8 |
|
|
10
|
|
|
#2 | ||
|
Membre habitué
![]() Philippe Directeur de projet Inscription : septembre 2010 Messages : 58 ![]() |
Bonjour dpk98,
Pour renommer des fichiers, il y a une action Automator toute prête, qui permet de numéroter les fichiers, mais pas qui permet d'appliquer la règle que tu souhaites. Donc AppleScript est fait pour ça. Voici un petit code rapide (qui pourrait sans doute être optimisé) avec des commentaires pour plus de clarté. Attention, je ne gère pas les erreurs, par exemple si le nom de ton fichier n'a pas de tiret ou pas d'alpha (peu probable) ou si le premier alpha est après le dernier tiret ! A toi de voir ce qu'il faut faire dans ces cas. Dans mon script, je ne fais rien pour l'instant ! Tu ouvres l'AppleScript editor, tu copy/paste le code ci-dessous, et ..hop ! Je n'utilise aucune fonction spéciale, donc cela devrait tourner sur un peu près toutes les versions d'OS X... Bonne journée Code :
|
||
|
|
10
|
|
|
#3 |
|
Invité régulier
![]() Inscription : novembre 2012 Messages : 4 ![]() |
merci infiniment PBELL de m avoir gentillement et clairement répondu (avec commentaires) Je n en espérais pas tant.
Je vais essayer Merci, Didier |
|
|
10
|
|
|
#4 |
|
Invité régulier
![]() Inscription : novembre 2012 Messages : 4 ![]() |
Merci.
J ai "corrigé" une erreur Listfiles au lieu de Listfichiers (fastoche). Mais erreur d execution (voir PJ) Peux-tu m aider encore ? |
|
|
10
|
|
|
#5 |
|
Membre habitué
![]() Philippe Directeur de projet Inscription : septembre 2010 Messages : 58 ![]() |
Bonjour dpk98,
c'est effectivement une erreur..qui n'aurait pas du fonctionner chez moi aussi...curieux...? je ferai des tests complémentaires ce week end !! En attendant, l'erreur est simple à corriger : il faut changer l'instruction : set Nouveau to (characters PosAlpha thru PosTiret of Ancien) & Ancien en : set Nouveau to (text PosAlpha thru PosTiret of Ancien) & Ancien La première assigne à la variable Nouveau des caractères, la seconde version assigne un texte. Les noms du Finder doivent être des textes ! Cordialement |
|
|
10
|
|
|
#6 |
|
Invité régulier
![]() Inscription : novembre 2012 Messages : 4 ![]() |
Bonjour PBELL et merci.
La modification fonctionne. Je pense à m'initier à Applescript/Automator maintenant (j'ai été AP sur mainfames IBM (MVS VM/CMS CICS DL1 assembleur 370) entre 1980 et 1992). Merci de ta gentillesse. Didier |
|
|
10
|
Copyright © 2000-2013 - www.developpez.com