290 votes

Comment faire quelque chose pour chaque fichier dans un répertoire avec un script batch

Comment vous itérez chaque fichier dans un répertoire avec un .bat ou .cmd ?

Pour la simplicité, veuillez fournir une réponse qui reprend juste le chemin de nom de fichier ou fichier.

373voto

Franci Penov Points 45358

Utilisation de lignes de commande:

for /f %f in ('dir /b c:\') do echo %f

Lot de fichier d'utilisation:

for /f %%f in ('dir /b c:\') do echo %%f

Mise à jour: si le répertoire contient des fichiers avec l'espace de noms, vous devez modifier le séparateur de l' for /f commande. par exemple, vous pouvez utiliser le tuyau de char.

for /f "delims=|" %%f in ('dir /b c:\') do echo %%f

Mise à jour 2: (rapide d'un an et demi après l'original de la réponse :-)) Si le nom du répertoire lui-même a un espace dans le nom, vous pouvez utiliser l' usebackq option sur l' for:

for /f "usebackq delims=|" %%f in (`dir /b "c:\program files"`) do echo %%f

Et si vous avez besoin d'utiliser la redirection de la sortie de commande ou de la tuyauterie, utiliser l'échappement char (^):

for /f "usebackq delims=|" %%f in (`dir /b "c:\program files" ^| findstr /i microsoft`) do echo %%f

128voto

Paul Points 381

Alternativement, utilisez :

La commande forfiles est disponible dans Windows Vista et Windows 7.

82voto

Gordon Bell Points 5798

Méthode la plus simple :

À partir de la ligne de commande, utilisez :

Partir d’un fichier Batch (doubler les signes de pourcentage %) :

37voto

mstrobl Points 1571

Utilisation

avec :

  • chemin d’accès est le chemin de départ.
  • %% var étant un identificateur.
  • . étant un filemask ou le contenu d’une variable.
  • some_command est la commande à exécuter avec le chemin et le var concaténées comme paramètres.

0voto

tazo todua Points 495

vous avez oublié d’intégrer le répertoire courant :

OBTENIR LE RÉPERTOIRE COURANT :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X