Daily Archives: 3 février 2021

Script – mettre la date inversée dans un nom de fichier

Prolégomènes (ou cahier des charges fonctionnel, ou le pourquoi du comment) :

  • Quand je cherche des fichiers dans un dossier, j’aime bien pouvoir rapidement identifier la version la plus récente, et idéalement, avoir les fichiers triés par date.
  • Certes, je pourrais cliquer à chaque fois sur la colonne « date » pour ré-ordonner les fichiers. Mais c’est bien utile d’avoir la date directement dans le nom du fichier.
  • La solution que j’ai adoptée est celle qui est souvent utilisée pour les photos : un nom de fichier qui commence par la date inversée (ex : 2021-01-19 Compte-rendu.doc, qui indique que c’est le compte-rendu d’une réunion le 19 janvier 2021). Ainsi, comme les fichiers sont classés par ordre alphabétique, on obtient directement un classement chronologique :
    • 2020-09-12 réunion avec Monica Bellucci.doc
    • 2020-11-29 projet Maître du monde.doc
    • 2021-01-19 Lamentation suite au redressement fiscal.doc
  • Cela étant posé, comment automatiser la tâche, plutôt que de taper laborieusement deux mille vingt et un zéro deux zéro trois à chaque nommage de fichier ?

Solution

  • Utiliser un mini-script ( = une suite de commandes du système, ici la console de Windows).
  • La commande détaillée est :
echo %DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2% | clip
  • Traduction :
    • echo : afficher
    • %DATE : la date d’aujourdhui. Mais par défaut, cet affichage se fera comme ça : 03/02/2021. Or je veux (1) un ordre inversé et (2) des tirets au lieu de / car cela crée des problèmes dans les noms de fichiers.
    • d’où le propos des ~ et %-% : cela consiste à prendre dans la date du jour (03/02/2021) les 4 caractères en 6ème position (2021) puis un tiret, puis les 2 caractères en 3ème position (02) etc.
    • enfin, | clip signifie : ne pas afficher le résultat à l’écran, mais l’envoyer dans le presse-papier (clipboard).
  • Il suffit de copier ce script dans un fichier texte, et de rendre le fichier exécutable (sous windows, changer l’extension .txt en .bat)
  • Il ne me reste plus qu’à affecter un raccourci clavier à ce script, pour pouvoir l’appeler de n’importe où.

Mise en pratique

Supposons que je fasse un fichier de compte-rendu de ma réunion avec Paul Usul Muad’ Dib Atréides. Pour sauvegarder, je fais Ctrl+S, et Word me demande de nommer le fichier. À ce moment, je tape mon raccourci magique, puis Ctrl+V, et le contenu du presse-papier (c’est-à-dire la date inversée d’aujourd’hui) est automatiquement ajoutée en début de fichier.

Sans raccourci magique

  • Ctrl+S pour sauver
  • taper « Réunion Paul Usul »
  • Enter
  • Le fichier est sauvé comme « Réunion Paul Usul.doc »

Avec raccourci magique

  • Ctrl+S pour sauver
  • Ctrl+Alt+D (mon raccourci magique) puis Ctrl+V = la date est ajoutée au début du nom
  • taper « Réunion Paul Usul »
  • Enter
  • Le fichier est sauvé comme « 2021-02-03 Réunion Paul Usul.doc »
Quelques secondes de gagnées,
20 fois par jour