La commande suivante modifie uniquement le nom des fichiers mais pas les dossiers.
for %a in (*) do ren "%a" "00_%a"
for %a in (*) do ren "%a" "00_%a"
Remarques:
for
comme ci-dessus n'est pas conseillé.Utilisez les éléments suivants dans un shell cmd
:
for /f "tokens=*" %a in ('dir /b') do ren "%a" "00_%a"
Dans un fichier de commandes (remplacez %
par %%
):
for /f "tokens=*" %%a in ('dir /b') do ren "%%a" "00_%%a"
Remarque:
Il est critique d'utiliser
FOR /F
et non le simpleFOR
.Le
FOR /F
regroupe l'intégralité du résultat de la commandeDIR
avant qu'il ne commence à itérer, tandis que le simpleFOR
commence à itérer une fois le tampon interne plein, ce qui augmente le risque de renommer plusieurs fois le même fichier.
comme conseillé par dbenham dans sa réponse à , ajoutez "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 commutateur /D
.
for /D %a in (*) do ren "%a" "00_%a"
De for /?
:
FOR/D% variable IN (définir) DO commande [paramètres de commande]
If set contains wildcards, then specifies to match against directory names instead of file names.