Votre aide Si possible [Résolu], Inverser des données d'un nom de fichier |
Bienvenue invité ( Connexion | Inscription )
Votre aide Si possible [Résolu], Inverser des données d'un nom de fichier |
9 Sep 2024, 10:06
Message
#1
|
|
Nouveau Membre Groupe : Membres Messages : 3 Inscrit : 17 Jul 2014 Membre no 191 274 |
Bonjour,
Pour que vous compreniez mes difficultés, j'ai 73 ans, je ne parle pas anglais, mais je suis une passionnée d'Apple depuis son arrivée en France... Je me débrouille, pas trop mal en informatique mais des barrières demeurent. Je me trouve devant une grande difficultés. J'ai plus de 16000 noms de fichiers à inverser. Je m'explique : J'ai en effet créé mon propre site avec des applications pour non "formée informatique" : https://sparfel.fr/fr/index.html. Ce site a pour but de publier tout ce qui concerne mon nom de famille qui traduit du breton signifie Epervier. Ce qui entraine la collecte des actes des générations précédentes jusqu’en 1350. J'insiste : mon nom, pas ma généalogie. Je suis en cours de réécriture dudit site avec une nouvelle application. Mais les noms de fichiers d'origine me posent problème : Exemple : Sparfel Yves 1578 Plouescat n°514 Je voudrais : 514 Sparfel Yves 1578 Plouescat J'ai trouvé sur MacBidouille en 2018 : https://forum.macbidouille.com/index.php?showtopic=410732 dont Zeltron54 indique un script possible "Le plus facile est de faire un petit script applescript.". Mais je ne sais pas comment trouver cet "applescript" et je ne sais pas où, ni comment sélectionner les éléments à intervertir. J'ai bien trouvé Automator, mais je je sais pas comment l'utiliser. Bref, je suis devant un grand désarroi. J'ai beau être en retraite, donc supposée disposée de temps, mais je suis encore plus pressée que dans la vie active, de peur de passer l'arme à gauche avant d'avoir fini... Si quelqu'un pouvait me venir en aide ce serait génial et vous auriez toute ma reconnaissance et la publication de votre nom sur mon site à venir. Je précise je ne peux pas acheter un programme pour cela, j'ai déjà bien trop de dépense pour ma modeste retraite... Donc si une bonne âme pouvait se pencher pour que je puisse renommer ces fichiers facilement, vous auriez ma reconnaissance infinie ! Merci d'avoir pris le temps de me lire, Cordialement, -------------------- Claudie Sparfel https://sparfel.fr/fr/index.html ,,ooooO,,,,,,,,,,,,,,,, Beaucoup de gens marcheront, ,,,(,,,,),,,,,Ooooo,,,, Avec toi tout au long de ta vie, ,,,,\,,(,,,,,,,(,,,,),,,,,, Mais seulement les vrais ami(e)s, ,,,,,\_),,,,,,,,),,/,,,,,, Laisseront des traces de pas, ,,,,,,,,,,,,,,,,(_/,,,,,,,, |
|
|
9 Sep 2024, 10:28
Message
#2
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 6 173 Inscrit : 31 Oct 2003 Membre no 11 118 |
ChatGPt indique de faire cette manip avec le terminal (ne fonctionnera que si toutes tes lignes sont basées sur la même structure que celle de ton exemple) :
1/ tu copies cette commande dans le terminal : Code sed -r 's/([[:alpha:]]+) ([[:alpha:]]+) ([0-9]+) ([[:alpha:]]+) n°([0-9]+)/\5 \1 \2 \3 \4/' 2/ tu rajoutes un espace à la fin de cette commande 3/ tu glisses sur la fenêtre du terminal ton fichier au format texte (.txt), son chemin d'accès va se rajouter à la suite de la commande. 4/ tu tapes un espace puis le symbole > puis un espace 5/ tu glisses de nouveau ton fichier sur le terminal, le chemin se rajoute de nouveau mais après tu changes le nom du fichier dans la commande : exemple : fichier.txt > fichier_reordonne.txt ca permet de conserver intact le fichier original et de mettre une copie réordonnée à côté. Par sécurité, fais quand même une copie de ton fichier avant ! Explication : Le modèle ([[:alpha:]]+) capture un mot alphabétique (nom ou prénom). Le modèle ([0-9]+) capture une suite de chiffres (le numéro). Le modèle ([[:alpha:]]+) capture une ville. Le modèle n°([0-9]+) capture le numéro après "n°". La commande remplace ces captures et réordonne les éléments dans le format désiré (\5 \1 \2 \3 \4), où chaque numéro fait référence aux parenthèses capturées. Ce message a été modifié par hellomorld - 9 Sep 2024, 10:29. -------------------- |
|
|
9 Sep 2024, 12:28
Message
#3
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 10 024 Inscrit : 9 Nov 2001 Lieu : Pays d’Aix Membre no 1 255 |
Bonjour,
Le gros fichier qui contient les 16000 paquets : quel logiciel ? Si c'est un fichier genre excel avec des lignes et des colonnes… voire fait appel à des listes externes, la modification est peu compliquée. Mais ça peut être autre chose. |
|
|
9 Sep 2024, 14:15
Message
#4
|
|
Nouveau Membre Groupe : Membres Messages : 3 Inscrit : 17 Jul 2014 Membre no 191 274 |
exemple.jpeg ( 313.69 Ko )
Nombre de téléchargements : 30
hellomorld Merci pour votre réponse, mais j'ai besoin d'un peu plus d'explication, excusez moi : avec le terminal ? De plus, et c'est également une réponse à g4hd il ne s'agit pas de fichier texte, j'ai dû mal m'expliquer il s'agit des fichiers contenus dans des dossiers du finder : https://forum.macbidouille.com/style_images.../attach_add.png
Fichier(s) joint(s)
-------------------- Claudie Sparfel https://sparfel.fr/fr/index.html ,,ooooO,,,,,,,,,,,,,,,, Beaucoup de gens marcheront, ,,,(,,,,),,,,,Ooooo,,,, Avec toi tout au long de ta vie, ,,,,\,,(,,,,,,,(,,,,),,,,,, Mais seulement les vrais ami(e)s, ,,,,,\_),,,,,,,,),,/,,,,,, Laisseront des traces de pas, ,,,,,,,,,,,,,,,,(_/,,,,,,,, |
|
|
9 Sep 2024, 16:16
Message
#5
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 6 173 Inscrit : 31 Oct 2003 Membre no 11 118 |
Voilà ce que propose chatgpt (il ne fonctionnera que dans le dossier choisi, pas les sous-dossiers, et pas avec les noms composés comme 'de kersauzon', que ce soit dans le nom, le prénom ou la ville) mais c'est déjà une piste et ça peut dégrossir le travail. Je l'ai un peu modifié pour récupérer le numéro seul. Je n'ai pas testé.
Je te conseillerai d'en profiter pour rajouter des séparateurs entre les différentes "colonnes", comme un caractère # (ça permettrait de mieux gérer les noms composés par la suite : 514#Sparfel#Yves#1578#Plouescat Par sécurité fais une sauvegarde des dossiers avant Voici un script AppleScript qui devrait renommer les fichiers en suivant le modèle que vous avez donné. Il prendra des fichiers nommés avec le format `Sparfel Yves 1578 Plouescat n°514` et les renommerait en `514 Sparfel Yves 1578 Plouescat` sur macOS. ### Script AppleScript Code -- Choisir le dossier contenant les fichiers à renommer set dossier to choose folder with prompt "Choisissez le dossier contenant les fichiers à renommer :" -- Obtenir la liste des fichiers dans ce dossier tell application "Finder" set fichiers to every file of folder dossier end tell -- Parcourir chaque fichier pour le renommer repeat with fichier in fichiers tell application "Finder" set nomFichier to name of fichier end tell -- Utiliser une expression régulière pour capturer les différentes parties -- Exemple : "Sparfel Yves 1578 Plouescat n°514" set oldNom to nomFichier as string set newNom to "" try set AppleScript's text item delimiters to " " set partie1 to text item 1 of oldNom -- Prénom set partie2 to text item 2 of oldNom -- Nom set partie3 to text item 3 of oldNom -- Numéro (par exemple 1578) set partie4 to text items 4 through -3 of oldNom as string -- Ville (ex. Plouescat) set partie5 to text item -1 of oldNom -- Numéro après "n°" (par exemple 514) set AppleScript's text item delimiters to "°" set numero to text item -1 of partie5 -- Reformater le nouveau nom set newNom to numero & " " & partie1 & " " & partie2 & " " & partie3 & " " & partie4 -- ou set newNom to numero & "#" & partie1 & "#" & partie2 & "#" & partie3 & "#" & partie4 -- avec séparateur -- Renommer le fichier tell application "Finder" set name of fichier to newNom end tell on error errMsg display dialog "Erreur lors du traitement du fichier " & oldNom & ": " & errMsg end try end repeat display dialog "Renommage terminé !" ### Explication : - Le script commence par demander à l'utilisateur de sélectionner le dossier contenant les fichiers à renommer. - Il récupère la liste de tous les fichiers du dossier. - Ensuite, pour chaque fichier, il divise le nom en fonction des espaces, récupère les différentes parties (prénom, nom, numéro, ville, numéro de fin), et les réorganise selon le format souhaité. - Enfin, il renomme le fichier avec le nouveau nom. ### Pour exécuter le script : 1. Ouvrez l'application "Script Editor" sur votre Mac. 2. Collez le code dans l'éditeur. 3. Cliquez sur le bouton "Exécuter" pour lancer le script. 4. Choisissez le dossier contenant les fichiers à renommer lorsque vous y êtes invité. Assurez-vous de faire une sauvegarde de vos fichiers avant d'exécuter le script, au cas où vous auriez besoin de revenir en arrière. Ce message a été modifié par hellomorld - 9 Sep 2024, 16:20. -------------------- |
|
|
9 Sep 2024, 18:28
Message
#6
|
|
Macbidouilleur d'Or ! Groupe : Modérateurs Messages : 19 653 Inscrit : 22 Jul 2004 Lieu : Louvain-la-Neuve (Gaule Gelbique) Membre no 21 291 |
Si l'option Terminal ou AppleScript t'intimidait trop, tu pourrais jeter un œil sur cette application qui satisfait la plupart de ses utilisateurs : A Better Finder Rename.
https://www.publicspace.net/ABetterFinderRe...e/index_fr.html ++++++++++++ Quand je vois les exemples que tu as donnés, une recherche de "nº" suivi par des chiffres puis remplacement de cette expression en ne gardant que les chiffres et déplacement en tête du nom me paraît suffisante, sans devoir distinguer toutes les parties antérieures (nom, prénom, date de baptême, etc.). Ça ne marchera toutefois pas pour, p.ex., Françoise de Kersauzon (il n'y a pas de chiffre après nº). Bien veiller aussi à ce qu'il n'y ait pas des nº (avec "o" suscrit º : option + U) et des n° (avec le caractère "degré" ° : Maj. + parenthèse fermante). -------------------- ¶ MacBook Pro 14’’ 2021, M1 Pro, 16 Go/1 To – macOS 12.6 “Monterey” ¶ MacBook Pro 15’’ mi-2010 Core i5 2,53 GHz, 8 Go/SSD Samsung 860EVO 1 To – Mac OSX 10.6.8 ¶ Power Macintosh G3 beige de bureau, rev.1 @ 233MHz, 288 Mo/4Go – MacOS 9.1 + carte PCI IDE/ATA Tempo 66 Acard 6260 avec HD interne Maxtor 80 Go + graveur interne CDRW/DVD LG GCC-4520B + tablette A4 Wacom UD-0608-A + LaCie ElectronBlueIV 19" + HP ScanJet 6100C ¶ B-Box 3 + HP LaserJet 4000 N
¶ La recherche dans MacBidouille vous paraît obscure ? J'ai rédigé une proposition de FAQ. Le moteur logiciel a un peu changé depuis mais ça peut aider quand même. … Les corsaires mettent en berne… |
|
|
10 Sep 2024, 06:51
Message
#7
|
|
Nouveau Membre Groupe : Membres Messages : 3 Inscrit : 17 Jul 2014 Membre no 191 274 |
Je n'ai qu'un mot :
GEANT ! J'ai créé un dossier pour tester comme indiqué, et ça marche ! Merci mille fois !!!!!! Claudie -------------------- Claudie Sparfel https://sparfel.fr/fr/index.html ,,ooooO,,,,,,,,,,,,,,,, Beaucoup de gens marcheront, ,,,(,,,,),,,,,Ooooo,,,, Avec toi tout au long de ta vie, ,,,,\,,(,,,,,,,(,,,,),,,,,, Mais seulement les vrais ami(e)s, ,,,,,\_),,,,,,,,),,/,,,,,, Laisseront des traces de pas, ,,,,,,,,,,,,,,,,(_/,,,,,,,, |
|
|
10 Sep 2024, 07:38
Message
#8
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 6 173 Inscrit : 31 Oct 2003 Membre no 11 118 |
J'ai simplifié le code qui met simplement le numéro en début de nom, comme le dit Baron, pas besoin de détecter les autres "colonnes" vu que leur ordre ne change pas.
Ca devrait augmenter la compatibilité avec les noms composés. Code -- Choisir le dossier contenant les fichiers à renommer
set dossier to choose folder with prompt "Choisissez le dossier contenant les fichiers à renommer :" -- Obtenir la liste des fichiers dans ce dossier tell application "Finder" set fichiers to every file of folder dossier end tell -- Parcourir chaque fichier pour le renommer repeat with fichier in fichiers tell application "Finder" set nomFichier to name of fichier end tell -- Utiliser une expression régulière pour capturer les différentes parties -- Exemple : "Sparfel Yves 1578 Plouescat n°514" set oldNom to nomFichier as string set newNom to "" try set AppleScript's text item delimiters to "°" set numero to text item -1 of oldNom set noms to text item 1 of oldNom -- Reformater le nouveau nom set newNom to numero & " " & noms -- ou set newNom to numero & "#" & noms -- avec séparateur -- Renommer le fichier tell application "Finder" set name of fichier to newNom end tell on error errMsg display dialog "Erreur lors du traitement du fichier " & oldNom & ": " & errMsg end try end repeat display dialog "Renommage terminé !" Ce message a été modifié par hellomorld - 10 Sep 2024, 07:39. -------------------- |
|
|
10 Sep 2024, 08:49
Message
#9
|
|
Adepte de Macbidouille Groupe : Membres Messages : 177 Inscrit : 15 Mar 2008 Lieu : Lorraine Membre no 110 156 |
Bonjour,
Je suis surpris que ce script fonctionne ! Il traite les noms de fichier donc avec l'extension... qui est à priori en .png et il n'efface pas l'espace et le "n" de n° en fin de nom ! Pour reprendre l'exemple donné dans le post original: le nom : Sparfel Yves 1578 Plouescat n°514 va devenir. 514.png Sparfel Yves 1578 Plouescat n et de plus en perdant l'extension du fichier ! -------------------- 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 |
|
|
10 Sep 2024, 09:37
Message
#10
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 1 357 Inscrit : 2 May 2005 Membre no 38 287 |
Citation j'ai 73 ans, je ne parle pas anglais Il est regrettable que tu ne saches pas que la plupart des navigateurs et en particulier chez moi Safari, Brave et Chrome proposent une traduction automatique des sites visités. Cela fonctionne pratiquement sur tous les sites, seuls quelques uns ne le permettent pas, et la traduction est très correcte sauf pour certaines locutions très techniques. Dans Safari, ça se situe ici : CleanShot_2024_09_10_at_10.36.50_2x.jpg ( 76.44 Ko ) Nombre de téléchargements : 11 |
|
|
Nous sommes le : 12th November 2024 - 00:10 |