web-dev-qa-db-fra.com

Comment ajouter un fichier à tous les fichiers et dossiers d'un dossier? (les fenêtres)

La commande suivante modifie uniquement le nom des fichiers mais pas les dossiers.

for %a in (*) do ren "%a" "00_%a"

11
MatMis

La commande suivante modifie uniquement le nom des fichiers mais pas les dossiers.

for %a in (*) do ren "%a" "00_%a"

Remarques:

  • Utiliser for comme ci-dessus n'est pas conseillé.
  • Il est possible que les fichiers puissent être renommés plusieurs fois.
  • Voir ci-dessous pour la raison pourquoi.

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 simple FOR.

Le FOR /F regroupe l'intégralité du résultat de la commande DIR avant qu'il ne commence à itérer, tandis que le simple FOR 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 :


Lectures complémentaires

12
DavidPostill

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.
0
Ƭᴇcʜιᴇ007