Renommer des fichiers en déplaçant des caractères du nom, Passer une date en fin de nom |
Bienvenue invité ( Connexion | Inscription )
Renommer des fichiers en déplaçant des caractères du nom, Passer une date en fin de nom |
20 Dec 2018, 23:01
Message
#1
|
|
Nouveau Membre Groupe : Membres Messages : 37 Inscrit : 24 Sep 2003 Lieu : Dijon Membre no 9 826 |
Bonjour,
Je ne sais pas si ce sujet est dans le bon topic, si ce n'est le cas, je m'en excuse... J'ai tout un dossier de fichiers nommés sous la forme : Date du fichier_Nom du fichier. Or, pour des raisons pratiques d'usage quotidien, je me rend compte qu'un classement alphabétique serait nettement plus rapide pour m'y retrouver en fait. Est-il possible d'automatiser un processus pour copier (couper) les n premiers caractères des noms des fichiers et les recoller en fin de nom pour obtenir des fichiers sous la forme : Nom du fichier_Date du fichier ? J'ai regardé du coté d'automator, mais je n'ai rien trouvé de concluant, j'ai testé le logiciel "RENAME", mais pas de copier coller possible... Auriez-vous une idée à me suggérer autre que celle de le faire manuellement fichier par fichier ? Merci d'avance de vos suggestions Ce message a été modifié par Stapsounet - 20 Dec 2018, 23:03. -------------------- "Dans ce monde, il faut ête un peu trop bon pour l'être assez..." Marivaux ; )
iMac 21,5 fin 2009, 3,06GHz Intel Core 2 Duo, 12Go DDR3, OS X.13.6 |
|
|
21 Dec 2018, 13:57
Message
#2
|
|
Adepte de Macbidouille Groupe : Membres Messages : 128 Inscrit : 12 Jul 2010 Membre no 156 555 |
Bonjour, Stapsounet
Tu peux faire ça sans problème avec l'utilitaire "A Better Finder Rename". http://www.publicspace.net/ABetterFinderRename/ Il est payant (20 €) mais tu peux télécharger une version d'évaluation. Il est en anglais (il n'est pas localisé en français). En fait, si on comprend un peu l'anglais, cet utilitaire permet de faire à peu près tout et n'importe quoi au niveau de la manipulation des noms de fichiers et dossiers AVERTISSEMENT: Bien évidemment, une fois que tu as choisi tes réglages, je te conseille de faire un essai sur trois ou quatre fichiers pour bien valider le traitement, avant de l'appliquer à tous tes fichiers. Ou mieux, si ça t'est possible, fais au préalable une copie de sauvegarde de tes fichiers. Pour ton cas de figure, en prenant pour hypothèse que la date qui est au début du nom de chacun de tes fichiers est sur un nombre fixe (N) de caractères: . ouvrir "A Better Finder Rename" . faire un glisser/déposer des fichiers et dossiers dans la partie droite de la fenêtre Dans cette partie de la fenêtre, l'utilitaire affiche les noms AVANT et APRÈS traitement ("Current Name" et "Change to"), en fonction des réglages choisis dans la partie gauche de la fenêtre. Ça permet de bien comprendre ce qu'on fait. puis faire les réglages suivants: . Category —> "Character Positions & Ranges" (position et nombre de caractères) . Action —> "Move a range of characters to position" (déplacer un certain nombre de caractères) . onglet "From text position" --> définir le nombre N de caractères à déplacer, puis choisir "From the front" (pour déplacer les N premiers caractères du nom) . onglet "To text position" --> choisir 0, puis "From the end" (pour déplacer ces N caractères à la toute fin du nom [0 caractère à partir de la fin]) . Change —> "only the name" . Process —> cocher "Files" (Fichiers) et/ou "Folders" (Dossiers) et/ou "Subfolders and their contents" (Sous-dossiers et leurs contenus) enfin appuyer sur le bouton "Perform Renames". Tu dis que tes noms de dossiers commencent par une date puis un underscore. Avec les réglages ci-dessus, tu déplaces la date à la fin du nom. Tu laisses l'underscore au début du nom. Avec une deuxième passe, tu supprimes l'underscore. Par exemple avec les réglages suivants: . Category —> "Text" . Action —> "Remove text from beginning" . Remove —> "_" (taper un seul caractère, le caractère underscore) . Change —> "The file name without the extension" -------------------- iMac fin 2013 - Mojave
|
|
|
21 Dec 2018, 14:22
Message
#3
|
|
Adepte de Macbidouille Groupe : Membres Messages : 128 Inscrit : 12 Jul 2010 Membre no 156 555 |
En fait, Stapsounet, je viens enfin de réaliser que tu veux renommer un fichier Date du fichier_Nom du fichier en Nom du fichier_Date du fichier
Il y a donc une petite manipulation en plus à faire au niveau de l'underscore. Du coup, il te faudrait faire TROIS passes (trois traitements successifs) avec A Better Finder Rename: . la première, pour rajouter un underscore au début du nom de tes fichiers: (Date du fichier_Nom du fichier —> _Date du fichier_Nom du fichier) . la deuxième, pour déplacer les N premiers caractères du nom (incluant le premier underscore) à la fin du nom: (_Date du fichier_Nom du fichier —> _Nom du fichier_Date du fichier) . la troisième, pour supprimer l'underscore au début du nom de tes fichiers (_Nom du fichier_Date du fichier du fichier —> Nom du fichier_Date du fichier) Les deuxième et troisième passes sont décrites dans mon premier message. Pour la première passe, voici les réglages: . Category —> "Text" . Action —> "Add text to beginning" . Add —> "_" (taper un seul caractère, le caractère underscore) . Change —> "The file name without the extension" -------------------- iMac fin 2013 - Mojave
|
|
|
21 Dec 2018, 14:58
Message
#4
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 9 751 Inscrit : 9 Nov 2001 Lieu : Pays d’Aix Membre no 1 255 |
Intéressant, flip flop.
Si la quantité de changements est limitée (Stapsounet parle de "tout un dossier de fichiers), le travail peut être accompli grâce à une fonction de macOS : - clic droit sur le dossier en question, puis choisir les fichiers qu'on veut traiter… - choisir la fonction "Renommer" qui annonce le nombre de fichiers sélectionnés… La suite consiste à sélectionner les modifs, par étapes successives au besoin. Comme l'a illustré flip flop : - ajout d'un underscore au début de chaque fichier, - copier le champ date et le rajouter à la fin de chaque fichier, - supprimer ensuite etc. Si on fait une erreur, c'est facile de revenir en arrière… Oupssss Ça n'existe pas dans des anciennes versions d'OS… c'est bien possible. Sapsounet a un vieux matériel, on dirait. -------------------- Mac Studio M1max 32 Go 1 To - Sonoma - Eizo 27" + Nec 21" - usage PAO
MBp14 M2pro 16 Go 1 To - Sonoma - iPhone 15 128 - iWatch 6 abonné VVMac |
|
|
21 Dec 2018, 16:12
Message
#5
|
|
Adepte de Macbidouille Groupe : Membres Messages : 128 Inscrit : 12 Jul 2010 Membre no 156 555 |
Oups aussi, g4hd
Je l'avais lu, mais je n'avais pas percuté Le Mac de Stapsounet est sous OS X 10.4.... et les versions d'évaluation de A Better Finder Rename actuellement disponibles ne sont opérationnelles qu'à partir de 10.7. Au temps pour moi. g4hd, j'avais déjà jeté un œil sur les facilités du Finder pour renommer les fichiers mais, avec ce que tu dis, je vais aller voir ça de plus près. Ça m'a l'air plus puissant que ce que je pensais. [edit] g4hd, je ne suis pas arrivé à faire ce que veut Stapsounet avec les facilités du Finder, sous El Capitan. Stapsounet, les versions plus anciennes de A Better Finder Rename, compatibles avec OS X 10.4, ne permettaient pas de déplacer des chaines de caractères dans le nom du fichier. Ce message a été modifié par flip flop - 21 Dec 2018, 19:46. -------------------- iMac fin 2013 - Mojave
|
|
|
21 Dec 2018, 20:30
Message
#6
|
|
Adepte de Macbidouille Groupe : Membres Messages : 171 Inscrit : 15 Mar 2008 Lieu : Lorraine Membre no 110 156 |
Bonjour, Stapsounet
Le plus facile est de faire un petit script applescript. Je te met ça ci dessous. Lors du lancement le script te demande de sélectionner le dossier à traiter. Il inverse la partie du nom avant le "_" avec la partie après. Il traite tous les fichiers y compris dans les sous dossiers. Il suffit de faire un copié collé du code dans une fenêtre de l'éditeur applescript. Code -- Renomme tous les fichiers d'un dossier y compris dans les sous dossiers
-- cherche "_" et inverse devant le "_" avec derriere le "_" tell application "Finder" set chemin to choose folder with prompt "Sélectionnez le dossier contenant les fichiers à renommer" my inspecter(chemin) end tell on inspecter(un_dossier) tell application "Finder" -- traitement des fichiers : set les_fichiers to files of un_dossier repeat with chaque_fichier in les_fichiers -- traitement d'un fichier tell application "Finder" set nom to name of chaque_fichier --récupère le nom du fichier set extens to document file nom in un_dossier --recupere l extension du fichier set lextension to name extension of extens set sauv to AppleScript's text item delimiters --sauvegarder la variable delimiteur set AppleScript's text item delimiters to {"."} --récupère la partie avant le dernier "." set elements to text items of nom set nomcourt to (items 1 thru -2 of elements) as string set ancien_nom to nomcourt set AppleScript's text item delimiters to sauv --restaurer la variable delimiteur set numero to offset of "_" in ancien_nom -- position du caractere "_" pour traiter le 1ere partie du nom set numero to numero - 1 set debut to characters 1 thru numero of ancien_nom as string set debut to result set blanc to characters 1 thru 1 of debut as string -- on enleve les espaces en debut de la 1ere partie du nom repeat while blanc = " " set long to length of debut as integer set debut to characters 2 thru long of debut as string set blanc to characters 1 thru 1 of debut as string end repeat set long to length of debut as integer -- on enleve les espaces en fin de la 1ere partie du nom set avantdern to long - 1 as integer set blanc to characters long thru long of debut as string repeat while blanc = " " set debut to characters 1 thru avantdern of debut as string set long to length of debut as integer set avantdern to long - 1 as integer set blanc to characters long thru long of debut as string end repeat set numero to offset of "_" in ancien_nom -- position du caractere "_"pour traiter le 2eme partie du nom set numero to numero + 1 set fin to characters numero thru end of ancien_nom as string set fin to result set blanc to characters 1 thru 1 of fin as string -- on enleve les espaces en debut de la 2eme partie du nom repeat while blanc = " " set long to length of fin as integer set fin to characters 2 thru long of fin as string set blanc to characters 1 thru 1 of fin as string end repeat set long to length of fin as integer -- on enleve les espaces en fin de la 2eme partie du nom set avantdern to long - 1 as integer set blanc to characters long thru long of fin as string repeat while blanc = " " set fin to characters 1 thru avantdern of fin as string set long to length of fin as integer set avantdern to long - 1 as integer set blanc to characters long thru long of fin as string end repeat if numero > 1 then set nouveaunom to (fin & "_" & debut & "." & lextension) as string -- le nouveau nom avec 2eme partie+ "_" + 1ere partie + extension set name of file nom of un_dossier to nouveaunom end if end tell end repeat -- traitement des dossiers : set les_dossiers to folders of un_dossier repeat with chaque_dossier in les_dossiers -- traitement d'un dossier my inspecter(chaque_dossier) end repeat end tell end inspecter tell application "Finder" (display dialog ("waouou ... Ca y est c'est fait !") buttons {"Salut !"}) end tell -------------------- Imac 27 I7 Fusion drive fin 2013 Ram 8Go Mac OS X (10.14.6)
MacBook Pro 15 pouces mi-2012 8Go Ram Mac OS X (10.14.6) Imac 24 M3 2023 Ram 24Go macOS Sonoma 14.3 |
|
|
21 Dec 2018, 23:44
Message
#7
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 12 341 Inscrit : 4 Nov 2003 Lieu : 21000 ou 22740 Membre no 11 306 |
… Le plus facile est de faire un petit script applescript. Trop facile, c'est vrai… Je suis toujours impressionné par ce genre de trucs -------------------- de l'Apple IIGS (1987) en GS/OS System 6.0.1 au MBP (2012) en Mojave et Mac Mini I7 (2012) en Mojave et Ventura avec OCLP
|
|
|
22 Dec 2018, 17:08
Message
#8
|
|
Nouveau Membre Groupe : Membres Messages : 37 Inscrit : 24 Sep 2003 Lieu : Dijon Membre no 9 826 |
Merci à tous pour vos retours, je m'y met ce we et je vous dis ce qu'il en est. Mais je n'ai aucun doute que je trouverais mon bonheur avec toutes les solutions proposées !!!
PS: merci aussi à vous de m'avoir fait remarquer que ma signature n'était pas à jour oups ! Je suis en fait sous High Sierra... Mais même avec cette version et le menu "renommer" du Finder, je n'ai pas réussi... Passez de bonnes fêtes de fin d'année ! Ce message a été modifié par Stapsounet - 22 Dec 2018, 17:09. -------------------- "Dans ce monde, il faut ête un peu trop bon pour l'être assez..." Marivaux ; )
iMac 21,5 fin 2009, 3,06GHz Intel Core 2 Duo, 12Go DDR3, OS X.13.6 |
|
|
22 Dec 2018, 17:18
Message
#9
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 2 845 Inscrit : 23 Nov 2002 Membre no 4 808 |
je viens de tester le script (2mn 28 s. pour 4 fichiers montre en main) ça semble parfait.
Le plus dur, et le plus long, a été de retrouver l'éditeur de script ; la modif des noms de fichiers est quasi instantanée. -------------------- MBP 15 unibody 2,4 Ghz , 4Go ssd 256 Go, dual boot OSX10.9.5-Linux mint
MacMini late 2012, i7 2,3Ghz, 16Go, 2 ssd 1to, OSX Sonoma 14.4 (OpencoreLegacy Patcher 1,4.3) |
|
|
22 Dec 2018, 18:06
Message
#10
|
|
Nouveau Membre Groupe : Membres Messages : 37 Inscrit : 24 Sep 2003 Lieu : Dijon Membre no 9 826 |
500 fichiers renommés en 15 minutes !!! J'ai acheté a better finder rename, qui a une option "multi-step"... Donc pas besoin de 3 ou 4 passes, juste d'implémenter 4 étapes consécutives et ça s'est fait d'un coup !
Bon, c'est sûr qu'en comparaison de l'édition d'un script, ça fait petit joueur... Mais du coup, j'ai même pu personnaliser quelques fichiers en passant et je vais quand même garder le script sous la main histoire de décoder et de comprendre. Il serait peut-être temps que je m'y mette un peu ! Encore merci à vous tous Ce message a été modifié par Stapsounet - 22 Dec 2018, 18:08. -------------------- "Dans ce monde, il faut ête un peu trop bon pour l'être assez..." Marivaux ; )
iMac 21,5 fin 2009, 3,06GHz Intel Core 2 Duo, 12Go DDR3, OS X.13.6 |
|
|
Nous sommes le : 28th April 2024 - 13:15 |