Script et Automator : Renommer lot de fichiers en déplaçant un mot [Résolu/Fermé]

Signaler
Messages postés
468
Date d'inscription
samedi 5 juin 2004
Statut
Membre
Dernière intervention
14 juillet 2017
-
Messages postés
37849
Date d'inscription
mardi 2 octobre 2007
Statut
Modérateur
Dernière intervention
26 octobre 2020
-
Bonjour,

J'ai un lot de fichiers que je cherche à renommer. Pour faire simple ils se présentent sous la manière :

Untel - Truc.ext

Et je voudrai l'inverser en

Truc - Untel.ext

J'ai essayé de chercher avec automator sans succès. J'imagine qu'avec un script c'est totalement possible.

Si qqn pouvait me guider ce serait parfait.


3 réponses

Messages postés
37849
Date d'inscription
mardi 2 octobre 2007
Statut
Modérateur
Dernière intervention
26 octobre 2020
10 176
Bonjour

avec ce logiciel :
http://pecora.io/en/mac/Renamer4Mac/

tu fais exactement ce dont tu as besoin. Par exemple, remplacer des chaines de caractères, ajouter, supprimer ou tu veux...etc...
et avant de valider, tu as une pré-visualisation du résultat.

cordialement
Messages postés
468
Date d'inscription
samedi 5 juin 2004
Statut
Membre
Dernière intervention
14 juillet 2017
233
Merci mais non. Je l'ai.
Il peut supprimer un nombre précis de caractère à une position précise, remplacer tel caractère par tel autre, rajouter tel caractère à tous les fichiers etc...

Mais chez moi le groupe de mot entre parenthèses variant (Longueur, nombre de mots) il ne peut pas m'aider.

Grosso modo je souhaiterai faire comme sous excel lorsque vous pouvez déplacer tel groupe de mot séparé par un sigle ou une tabulation
Messages postés
37849
Date d'inscription
mardi 2 octobre 2007
Statut
Modérateur
Dernière intervention
26 octobre 2020
10 176
Comme la demande est formulée, il devrait faire l'affaire, cela dit, je n'ai pas la liste des fichiers sous les yeux pour pouvoir donner une méthode, mais je n'ai pas encore rencontré de souci avec ce logiciel, même s'il faut parfois procéder par étapes sur des fichiers préalablement triés, j'ai toujours pu obtenir le résultat souhaité.
Cela dit sans avoir la liste des fichiers et le besoin exact... je ne saurai en dire plus...
Messages postés
468
Date d'inscription
samedi 5 juin 2004
Statut
Membre
Dernière intervention
14 juillet 2017
233
Pour être plus précis les fichiers ont tous un nombre de caractère ou de mots différents. Mais à chaque fois à la fin une partie du texte (Différentes aussi suivant les fichiers) est notée entre parenthèse et je cherchais à la faire passer devant. Si ce texte entre parenthèses avait été le même pour chaque fichier il suffisait même d'utiliser le finder qui peut faire ça très bien. Mais là rien à faire et Renamer idem.
Exemple :

Sieste dans le jardin (Totto).ext
Première baignade (Dudulle et machine).ext


Bon au final quelqu'un m'a gentiment pondu un script qui fonctionne à merveille. A adapter évidemment un brin si votre texte à déplacer n'est pas entre parenthèses.

on run {input}
repeat with i in input -- chaque fichier
tell application "System Events"
set tName to name of i -- récupère le nom du fichier
set name of i to my reversePart(tName) -- renomme le fichier
end tell
end repeat
end run

on reversePart(t)
set {tid, text item delimiters} to {text item delimiters, {"(", ")"}}
tell (text items of t) to if (count) = 3 then
if item 1 ends with " " then
set t to "(" & item 2 & ") " & (text 1 thru -2 of item 1) & item 3
else
set t to "(" & item 2 & ") " & item 1 & item 3
end if
end if
set text item delimiters to tid
return t
end reversePart
Messages postés
37849
Date d'inscription
mardi 2 octobre 2007
Statut
Modérateur
Dernière intervention
26 octobre 2020
10 176
Merci pour ce retour :-)