Petite question : comme beaucoup de gens, je télécharge des fichiers sur mon PC dans un répertoire particulier. Certains l’appellent « C:\temp», d’autres « C:\tempo », et d’autres utilisent tout simplement le répertoire de téléchargement par défaut, ce qui est mon cas.
Or, j’ai souvent besoin de préfixer ces fichiers avec la date du jour au format international (AAAA-MM-JJ). C’est un peu fastidieux, car je dois le faire environ une centaine de fois par jour. Existe-t-il une astuce, un programme ou un accessoire qui permettrait de faire quelque chose comme : clic droit → « Ajouter la date du jour en préfixe » sur un ou plusieurs fichiers sélectionnés ?
Merci pour vos suggestions ! 

3 réponses
3
Bonjour Patrick,
Je n’ai pas la solution toute faite, mais par contre je peux te donner des pistes dans l’immédiat.
Dans le dossier « %APPDATA%\Microsoft\Windows\SendTo » se trouve les raccourcis « Envoyer vers… » : Voilà déjà pour ton clic-droit sous l’explorateur Windows ce sont des raccourcis qu’il faut laisser dans ce dossier.
Pour ce qui est du programme (à enregistrer dans un dossier différent d’« Envoyer Vers ») pour renommer un simple fichier CMD suffit avec utilisation de paramètres (%1). A voir si c’est %0, %CD% pour retrouver le dossier de départ. J’avoue je ne me rappelle plus.
Un autre truc, la commande shift, le %2 devient %1 etc… ce qui permet de faire une boucle si tu sélectionnes plusieurs fichiers avent de faire le « Envoyer vers… »
Pour avoir la date : pour l’exemple tape sur la ligne de commande :
echo %DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2%
La variable %DATE% donne la date en format français mais utilise des caractères incompatible pour des noms de fichiers.
Ta ligne maitresse ressemblerait à rename « %fichiertelecharge% » « %DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2%-%fichiertelecharge% »
Ci dessous les utilisations supplémentaires de la tilde dans les programmes CMD pour la variable B:
%~B - expands %I removing any surrounding quotes (« »)
%~fB - expands %I to a fully qualified path name
%~dB - expands %I to a drive letter only
%~pB - expands %I to a path only
%~nB - expands %I to a file name only
%~xB - expands %I to a file extension only
%~sB - expanded path contains short names only
%~aB - expands %I to file attributes of file
%~tB - expands %I to date/time of file
%~zB - expands %I to size of file
%~$PATH:B - searches the directories listed in the PATH environment variable and expands %B to the fully qualified name of the first one found. If the environment variable name is not defined or the file is not found by the search, then this modifier expands to the empty string
Merci pour toutes ces informations et ces pistes. Je vais effectivement creuser dans cette direction pour créer moi-même cette commande et l’ajouter au menu contextuel.
Avant de me lancer, je vais d’abord fouiller un peu sur le web, et peut-être aussi avec l’aide de l’intelligence artificielle, pour voir ce que je trouve. Après, je ne crois pas trop aux solutions toutes faites proposées par l’IA, car elles ne fonctionnent pas toujours parfaitement. Surtout si cela implique de modifier mon système Windows ou, pire, la base de registres : dans ce cas, je serais extrêmement prudent.
Ensuite, je ferai une recherche classique sur le web. En m’appuyant sur les indications que tu m’as données, je vais essayer de voir si je tombe sur quelque chose. Mon problème ne doit pas être unique, donc il y a probablement des ressources ou des retours d’expérience en ligne.
Bon finalement j’ai fait confiance à ChatGPT (en faisant une sauvegarde système avant…) et la méthode qu’il m’a donné fonctionne sans modification, miracle (j’y croyais pas trop…)
. Et ça marche sur plusieurs fichiers ! 
Étapes détaillées
1. Créer un script pour renommer les fichiers
On va faire un script PowerShell qui ajoute la date au début du nom des fichiers sélectionnés.
- Ouvre Notepad et colle ceci :
param (
[string[]]$files
)
$date = (Get-Date).ToString("yyyy-MM-dd")
foreach ($file in $files) {
$path = Split-Path $file
$name = Split-Path $file -Leaf
$newName = "$date-$name"
Rename-Item $file -NewName $newName
}
-
Enregistre ce fichier sous :
C:\Scripts\AddDatePrefix.ps1
(Crée le dossier C:\Scripts si besoin.)
2. Débloquer l’exécution des scripts (une seule fois)
Ouvre PowerShell en Administrateur et tape :
Set-ExecutionPolicy RemoteSigned
3. Ajouter l’option dans le menu clic droit
- Ouvre Notepad et colle ceci :
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\AddDatePrefix]
@="Ajouter la date au nom du fichier"
[HKEY_CLASSES_ROOT\*\shell\AddDatePrefix\command]
@="powershell.exe -NoProfile -ExecutionPolicy Bypass -File \"C:\\Scripts\\AddDatePrefix.ps1\" \"%1\""
-
Enregistre ce fichier sous AddDatePrefix.reg.
-
Double-clique sur le fichier .reg pour l’ajouter au Registre.
4. Utilisation
- Fais clic droit sur n’importe quel fichier.
- Clique sur “Ajouter la date au nom du fichier”.
- Le fichier sera renommé avec le préfixe
YYYY-MM-DD-.
Avantages de cette méthode :
-
Pas besoin de logiciel tiers.
-
Fonctionne directement dans l’Explorateur.
-
Tu peux changer le format de la date en modifiant la ligne :
$date = (Get-Date).ToString("yyyy-MM-dd")
Par exemple "dd-MM-yyyy".
Et juste un truc c'est que ça ouvre rapidement une fenêtre DOS et ça la referme tout de suite bon c'est un peu gênant mais ça reste très pratique
– Patrick