Ubuntu – Renommer massivement tous vos fichiers

Par le dans . Marqué comme , , , , , avec 26 Commentaires

Ubuntu – Renommer massivement tous vos fichiers

Aujourd’hui, je vais vous parler d’un petit logiciel que j’ai découvert sur le net il y a quelques jours. Et franchement, je me demande encore comment j’ai pu m’en passer jusqu’à ce jour !!
Je ne sais pas pour vous, mais si il y a bien une chose qui fait perdre pas mal de temps inutilement, c’est bien de renommer ses fichiers … surtout quand il faut en renommer 50 … on a toujours plus intéressant à faire non ?!

Je suis un grand amateur d’animation japonaise et c’est tout simplement impossible pour moi de regarder un animé non licencié (bien entendu … ) en France sans le télécharger. De toute façon, ce n’est pas avec une connexion ADSL en 56ko que je peux faire du streaming … donc je n’ai pas vraiment le choix !

Il m’arrive donc régulièrement de me retrouver avec des répertoires « bourrés » de fichiers vidéos dont les noms sont souvent {incompréhensibles|illogiques} (rayer la mention inutile).

Nom de fichiers dans dossiers illogiques

Voici un petit exemple de ce que cela peut donner

A vue de nez, il vous faut combien de temps pour renommer ce répertoire ? Je vous le dis, on peut vite y passer des heures …
Et c’est là que ma découverte arrive, mais avant tout, sachez que cette « astuce » est adaptée aux environnements « GNOME » et en particulier au gestionnaire de fichiers « Nautilus ».

~~{Pré-requis pour continuer à suivre cet article ON }~~

Pour continuer à lire ce billet sans rencontrer de problème, il vous faut remplir les conditions suivantes :

  • Avoir les droits d’administration de votre machine
  • Avoir une connexion à Internet configurée et active
  • Savoir utiliser un peu votre Terminal

~~{Pré-requis pour continuer à suivre cet article OFF }~~

Je vais vous présenter le paquet pyRenamer. Ce paquet est une application qui permet le renommage massif de fichiers et/ou de répertoires simplement et rapidement.

Voici une liste des principales fonctionnalités proposées par pyRenamer :

Icône du logiciel de renommage PyRenamer
  • Renommage manuel de fichiers
  • Insertion ou effacement de caractères des noms de fichiers
  • Substitutions de caractères des noms de fichiers
  • Renommage de fichiers images et/ou audio d’après leurs métadonnées
  • Renommage des fichiers en fonction de règles à définir soi-même
  • Aperçu du résultat de renommage avant application des modifications

Je vous l’ai dit, ce logiciel est une véritable petite merveille. Ce paquet étant présent dans les dépôts officiels d’Ubuntu, vous n’aurez même pas besoin d’ajouter de dépôts avant l’installation de celui-ci. Il vous suffit alors de lancer votre Terminal et renseigner la commande suivante :

sudo aptitude install pyrenamer

Il est possible d’utiliser la commande apt-get si vous n’êtes pas un adepte d’aptitude.

Validez ensuite avec la touche Entrée l’ajout de quelques dépendances comme « pyrenamer python-gnome2{a} python-hachoir-core{a} python-hachoir-metadata{a} python-hachoir-parser{a} python-pyorbit{a} » et le tour est joué.

Voyons maintenant à quoi ressemble cette fameuse application :

Vue d'ensemble de l'interface de Pyrenamer

On remarque alors que l’on a la possibilité, via la colonne de gauche, de sélectionner les répertoires dans lesquels se trouvent nos fichiers mal nommés. La colonne de droite permet de visualiser la liste des fichiers sélectionnés et de générer un aperçu des modifications que l’on souhaite leur apporter. L’interface est plutôt claire et bien pensée, ce qui facilite l’utilisation de cette application.

Entrons ensuite dans le vif du sujet avec les différentes « fonctions » de l’application. Nous avons alors dans l’ordre de gauche à droite dans la barre d’onglets de l’application, les fonctionnalités suivantes :

Le renommage par règles :

C’est pour moi LA fonctionnalité principale du logiciel. Elle permet la création de règles parcourant les noms des fichiers que l’on souhaite modifier pour, par exemple, réordonner les informations les composant.

Voici une liste non exhaustive des règles qu’il est possible d’utiliser pour la manipulation de ces fameuses données dans le nom de fichier original :

{#} Chiffres
{L} Lettres
{C} Caractères (chiffres et lettres, pas d'espace)
{X} Chiffres, lettres et espaces
{@} Corbeille

Voici maintenant une liste non exhaustive de règles qu’il est possible d’utiliser pour la manipulation des données dans le champs de nom de fichier renommé :

– Substitutions générales :

Utilisez {1} pour le premier segment, {2} pour le second etc.
Utiliser {num} pour ajouter 1,2,3... aux noms des fichiers
Utiliser {num2} pour ajouter 01,02,03...
Utiliser {num3} pour ajouter 001,002,003...
Utiliser {num+10} pour 10,11,12...
Utiliser {num2+10} pour 010,011,012...
Utiliser {dir} pour obtenir le dossier actuel

– Quelques substitutions avec la date du jour :

{date} 07fev2012
{year} 2012
{month} 02
{day} 07
{dayname} mardi
{daysimp} mar

– Substitutions aléatoires des nombres :

{rand} est un nombre aléatoire entre 0 et 100
{rand,3} est un nombre aléatoire entre 0 et 100 de 3 chiffres
{rand500} est un nombre aléatoire entre 0 et 500
{rand10-20} est un nombre aléatoire entre 10 et 20
{rand20,5} est un nombre aléatoire entre 0 et 20 de 5 chiffres

Comme on le dit souvent, un dessin vaut mieux qu’un long discours, je vous laisse donc observer cet imprime écran que j’ai réalisé en faisant en sorte de créer une règle d’exemple :)

Utilisation des règles de renommage de pyRenamer

Le renommage par substitutions :

Le renommage par substitutions est également une fonctionnalité intéressante de cette application. Elle permet de réaliser des manipulations rapides et précises comme le remplacement de TOUS les espaces d’un nom de fichier par le caractère de votre choix, le remplacement de minuscules par des majuscules (et inversement), le remplacement/suppression des caractères accentués ou encore le remplacement de n’importe quelles suites de caractères par ce que vous souhaitez. Cette fonction est intéressante pour optimiser le partage de fichiers sur un réseau ou entre systèmes d’exploitation car en règle générale, les espaces ET les accents ne sont pas correctement interprétés.

Le renommage par insertion/suppression :

Encore une fonctionnalité qui peut être utile car elle permet de réaliser deux actions différentes :

  • L’insertion de caractères dans les noms de fichiers en fonction d’une position à passer en paramètre. Par exemple, insérer un caractère spécial après le 6ème caractère du nom du fichier, ce qui pourrait nous permettre de séparer deux mots par un underscore ou tout autre caractère de votre choix.
  • La suppression de caractères dans les noms de fichiers en fonction de positions à passer en paramètre. Par exemple, supprimer tous les caractères compris entre le 11ème et le 17ème caractère, ce qui pourrait nous permettre de supprimer toutes les occurrences du raccourci « vostfr » (Version Original Sous Titré Français) présents dans les noms de fichiers.

Le renommage manuel :

Fonctionnalité beaucoup plus classique, mais utile malgré tout. Dans mon cas, j’utilise cette option après avoir créer une règle de renommage. Une fois l’ensemble de mes fichiers renommés, je vais toujours modifier le nom du dernier épisode d’une série par exemple pour y ajouter la mention « FINAL ».

Le renommage de fichiers images et de fichiers sonores :

Je n’ai pas encore eu l’occasion d’utiliser ces deux fonctionnalités, mais elles semblent particulièrement utiles pour tout geek toute personne (normale) souhaitant renommer en quantité leurs photos de vacances ou encore leurs bibliothèques de MP3.

Il est apparemment possible de créer des règles de substitutions permettant la récupération des métadonnées des fichiers et de les utiliser pour les renommer. Je trouve cela intéressant pour, par exemple, éviter les problèmes de nommage de certains appareils photos. Plutôt que d’avoir des noms de fichiers ressemblant à DCIM0258.jpg il pourrait être utile de remplacer par la date de prise de vue ou autres.

J’ai d’ailleurs découvert lors de mes recherches sur le Net, le blog Libre et Ouvert où l’auteur y décrit une règle plutôt pratique pour renommer et classer proprement ses photos :

{imageyear}-{imagemonth}-{imageday}_{imagehour}'{imageminute}'{imagesecond}

A vous de jouer :

Je vous laisse maintenant découvrir par vous même la puissance de cette application, comme je vous l’ai dit en début de billet, je ne peux plus m’en passer et elle me rend bien des services …
N’hésitez pas à partager vos règles de renommage dans les commentaires, c’est toujours utile et ça permet à tout le monde de gagner du temps !!

Source de l’image utilisée en illustration : Toolkit sur le blog Design de Canonical modifié par Onii.

Voici les sources que j’ai utilisées pour réaliser ce billet :
– Le manuel du paquet pyRenamer sur Infinicode.org

26 Commentaires


  1. Salut Jo !

    je vois que tu as porté finalement ton choix sur la distribution ^^ Ubuntu ! C’est stable ? jamais utilisé ! Parce que Debian Sqeeze, c’est vraiment la seul distribution en bureautique que j’utilise, car c’est un rock ; ça plante jamais bureau / serveur. C’est vieux niveau gnome kde etc… mais c’est vraiment robuste et la prise en charge matériel GÉNIAL !

    En tout cas, cool ! moi aussi j’ai une masse de fichier media à renommer en rafale, héhé debian sqeeze powa !

    http://packages.debian.org/fr/squeeze/gnome/pyrenamer

    • Bonne nouvelle ça !!
      Merci d’avoir pris un peu de ton temps pour laisser un commentaire sur le blog, lire ce genre de commentaire est une source de motivation :)

    • Salut Dom,

      Super si tu as pu trouver ce que tu cherchais dans le billet, c’est le genre de retour qui fait plaisir !!

      Merci d’avoir pris le temps de laisser un message ici :)

  2. Super billet, clair et précis.
    Et le soft est efficace en diable !
    Merci, c’est juste parfait quant à ma recherche de renommage en masse :-)

    • Salut Manu :)

      Content d’avoir pu t’aider ^^
      J’avoue que ce soft est plutôt sympa, je l’utilise régulièrement et il répond à chaque fois à mes besoins !!

      @+

  3. Salut !
    Tout d’abord merci pour ce billet, je n’y connais rien et j’ai pu m’en sortir dans l’installation puis l’utilisation de ce petit programme bien utile, donc, encore une fois : merci !!

    J’en arrive ensuite au coeur du problème … J’ai besoin de renommer mes fichiers (photos) en utilisant leurs métadonnées (date et heure de prise de vue en l’occurrence), j’ai bien trouvé les commandes nécessaires et ça fonctionne avec une partie de mes fichiers. Cependant, pour un appareil en particulier, ça ne fonctionne pas, le nouveau nom ne contient pas les métadonnées … Pourtant j’ai vérifié (clic droit sur le fichier > propriétés > image) et pour les deux types de fichiers (un appareil olympus, un appareil canon) j’ai les mêmes infos, dont celle qui m’intéresse « date du cliché » …
    Ma question est donc la suivante : pouvez-vous m’aider à trouver une explication à ce problème ? Pourquoi les fichiers de l’appareil « canon » peuvent être renommés comme je le souhaite et pas ceux de l' »olympus » … ?

    Merci d’avance pour votre aide, et en tous les cas, merci pour votre billet !

    • Salut Robin,

      Merci pour tes retours positifs, ça fait plaisir à lire :)

      Ensuite, concernant ton problème, je pense qu’il doit y avoir une solution, je t’avouerai que je n’ai jamais fait ce type de manipulations (avec les métadonnées des photos) et le comportement que tu décris est assez étrange ^^ Tu as un message d’erreur ou une info à me donner pour que je comprenne ce qu’il se passe ?

      Pour que je puisse faire quelques tests de mon côté, tu essaies d’intégrer aux noms de tes photos quelles métadonnées ? La date et … ?

      @+

  4. Bonjour,

    j’essaie de renommer les fichiers d’un répertoire en ajoutant en début du nom de fichier le numéro du fichier sans en changer son nom.
    exemple: ajouter 01, 02, 03, …

    dans l’option « insérer », je n’arrive pas à faire en sorte que le nombre augmente et dans l’option « renommage par règles » (avec {num 2}), je n’arrive pas à juste ajouter le nombre…

    si vous y arrivez ou si vous avez une idée, merci!

    jef

    • Salut Jef,

      Alors avant toute chose, j’aimerai vérifier si j’ai bien compris ta demande ^^
      Si tu as 2 fichiers dans un répertoire nommé comme suivant : « toto.txt » et « tata.txt »
      Est-ce que tu cherches à obtenir quelque chose comme ça : « 01-tata.txt » et « 02-toto.txt » ?

      Si ce n’est pas le cas, pourrais-tu me détailler ton besoin afin que je le comprenne ?

      Merci !

        • Salut Jef,

          Alors j’ai fait quelques tests sur mon poste et voilà ce que j’ai fait :
          – Se rendre dans l’onglet « Règles »
          – Dans le champs « Règle du nom de fichier original », tu laisses « {X} »
          – Dans le champs « Règle du nom de fichier renommé », tu remplaces la règle existante par : « {num2}-{1} » (sans les guillemets)
          – Tu cliques sur « Aperçu » et si c’est OK tu valides en cliquant sur « Renommer »

          Normalement, avec cette règle de renommage, tu es censé obtenir un résultat identique à ce que j’ai détaillé dans mon précédent commentaire :)
          N’hésites pas à repasser si ce n’est pas le cas !

          @+

  5. Bonjour

    J’utilise également pyRenamer pour renommer des fichiers photos et la c’est tout de même bizarre, j’utilise la règle suivante :
    {imageyear}-{imagemonth}-{imageday} {imagehour}h{imageminute}'{imagesecond} {1}
    et pour la même série de photos et le même appareil, cela fonctionne pour certaines photos et pour d’autres non. Les méthadonnées sont bien présentes dans tous les fichiers lorsque que l’on fait un contrôle par clique droit, propriétés, image avec l’information date du cliché.
    Voir l’exemple sur la copie d’écran ci-dessous :
    http://www.casimages.com/img.php?i=1502210301413233.png
    Merci d’avance de votre aide.

    • Salut Franck,

      Alors là, je n’ai jamais rencontré ce type de problème … du coup, je ne sais pas vraiment quoi te dire.
      Je sais que cela peut paraître « simple » comme réponse, mais as-tu vérifier que tu as les permissions nécessaires pour renommer les fichiers ?
      Afin d’orienter un peu les recherches, est-ce que tu sais si les photos qui ne sont pas traitées par PyRenamer viennent du même appareil ?

      @+

  6. Salut Joël, merci pour ta réponse même si tu n’as pas la solution dans l’immédiat. Les photos proviennent bien du même appareil. J’ai l’impression que cela se produit plutôt lorsque je sélectionne un grand nombre de photos. De plus si je ferme PyRenamer et je le rouvre, cela peut solutionner le problème. Bug non systématique ?
    Si tu trouve des infos redis moi tout de même.
    @+

    • Salut Franck,

      Vu tes retours, as-tu regardé si une nouvelle version du logiciel n’était pas disponible ?
      Je n’ai jamais eu ce genre de bugs de mon côté … même en manipulant de grandes quantités de données, non pas des photos mais des vidéos.

      Si jamais tu trouves une solution de ton côté, n’hésites pas à repasser par ici pour la partager avec les autres :)

  7. Bonjour,
    je désire, pour ma part, remplacer les noms de mes fichiers images par leurs métadonnées
    (année)-(mois)-(jour du moi)_(heure)-(minutes)-(secondes)
    de la même manière que beaucoup de gens ici.
    j’ai certainement commis une erreur toute simple, mais voila le résultat que je n’arrive pas à dépasser, sans arriver à trouver pourquoi:
    https://1fichier.com/?oybsiq260i
    (pardon d’etre obligés de d’abord télécharger mon fichier-exemple pour le visionner)
    merci de votre aide :)

    • Salut Roger,

      Je viens de jeter un coup d’œil à ton imprime-écran afin de comprendre un peu ce que tu essaies de faire avec PyRenamer et tu ne vas pas me croire mais la solution à ton problème est toute simple ^^
      En gros, ta règle de changement de nom est valide. Le hic ne vient pas de là, en fait, tu essaies de l’exécuter dans le mauvais « mode » du logiciel.
      Sélectionnes l’onglet « IMAGES », copies/colles ta règle de renommage et tu verras que le tout fonctionnera nettement mieux ! Je me suis fait avoir pas mal de fois moi aussi.

      J’espère t’avoir donner la bonne solution, n’hésites pas à repasser par ici si ce n’est pas le cas et bonne continuation :)

  8. Salut Joël,
    Merci d’avoir donné suite à mon Pb :)
    Le truc, c’est qu’il n’est pas résolut pour autant.
    j’ai fait comme tu as dit:
    j’ai recopié
    {imageyear}-{imagemonth}-{imageday}_{imagehour}'{imageminute}'{imagesecond}
    dans: « Règle du nom de fichier renommé » de l’onglet image
    Mais lorsque je clique sur Aperçu,
    PyRenammer ne tient pas compte des variables de mes métadonnées et m’affiche ce qui les sépare, c’est à dire:
    –_ »
    :(

    (info: dans mon champ ‘règle du nom de fichier original’ de PyRenammer figure {X})
    I don’t understand :)

    • Salut Roger,

      Peux-tu faire un petite vérification sur une de tes photos ?
      Dans les propriétés de la photo que tu auras choisi, si tu vérifies les données de l’onglet « Image », est-ce que tu as bien toutes les informations que tu cherches à manipuler avec PyRenamer ?
      Dans le principe, PyRenamer liste les métadonnées de tes photos pour ensuite les utiliser en renommant les fichiers.
      Certains appareils photos ou téléphones ne renseignent pas toutes ces données, du coup, PyRenamer essaie de travailler avec des valeurs nulles ce qui pourrait expliquer ton problème …

  9. Salut Joël,
    Je vais regarder ce que tu dis dès que je suis de retour chez moi, d’ici qq jours.
    Je me permet en attendant de prendre le texte pour te dire que tu as probablement raison parce que j’avais essayé, avec pyrenamer, de sélectionner un plus grand nombre de fichier que sur la sélection dont j’ai posté l’image et, surprise, il y en avait quelques uns ou la règle marchait (???).
    Si l’on suit ce raisonnement, il y a quant même quelque chose qui m’étonne:
    c’est que cet ensemble de fichiers est constitué d’images sauvées avec =>Firefox<= qui doit, lui, savoir correctement ranger les données de date dans les variables (métadonnées).
    étonnant, je trouve…
    Quant je rentre je vais regarder les dates des fichiers sur lesquels pyrenamer ne peut rien faire
    – c’est une constatation que je n’ai pas développé –
    Merci de ton aide, Joël, je te tiens au courant :)

  10. Merci, super pratique !
    Je venais juste d’apprendre le raccourci clavier F2 pour renommer, mais pour remplacer les espaces par des tirets dans tous mes fichiers, ça ne suffisait pas vraiment !

N'hésitez pas, laissez un commentaire — DoFollow activé sur ce site —


« »