Réponses:
for %a in (*) do ren "%a" "00_%a"
Remarques:
forcomme ci-dessus n'est pas conseillée.Utilisez ce qui suit dans un cmdshell:
for /f "tokens=*" %a in ('dir /b') do ren "%a" "00_%a"
Dans un fichier batch (remplacer %par %%):
for /f "tokens=*" %%a in ('dir /b') do ren "%%a" "00_%%a"
Remarque:
Il est essentiel que vous l'utilisiez
FOR /Fet non le simpleFOR.Le
FOR /Frassemble le résultat entier de laDIRcommande avant de commencer l'itération, tandis que le simpleFORcommence l'itération après que le tampon interne est plein, ce qui ajoute un risque de renommer le même fichier plusieurs fois.
comme conseillé par dbenham dans sa réponse pour ajouter "texte" à la fin de plusieurs noms de fichiers :
Pour effectuer cette boucle For sur des dossiers (répertoires) au lieu de fichiers, incluez simplement le /Dcommutateur.
for /D %a in (*) do ren "%a" "00_%a"
De for /?:
FOR / D% variable IN (set) commande DO [paramètres de commande]
If set contains wildcards, then specifies to match against directory names instead of file names.
renfonctionne sur les dossiers. La limitation est que "vous ne pouvez pas spécifier un lecteur ou un chemin différent pour la cible.
Ren.
for /dégalement d'avoir le problème d'essayer de traiter les valeurs plusieurs fois (voir également ma réponse).