web-dev-qa-db-fra.com

Liste des fichiers avec chemin en utilisant la ligne de commande Windows

Ma structure de dossier dans un lecteur est la suivante (sous Windows):

Folder 1
 Fd1
 Fd2
 Fd3
 Fd4
 Fd5
Folder 2
 Fd1
 Fd2
 Fd3
 Fd4
 Fd5

Cet arrangement continue pour des centaines de dossiers. À l'intérieur de Fd1 de chaque dossier x, il y a certains fichiers .bat. Je cherche un moyen d'extraire une liste de fichiers .bat avec le chemin d'accès complet à l'aide de la ligne de commande Windows vers un fichier texte. Avec peu d'expérience dans l'utilisation de la commande Invite, je ne sais pas comment cela peut être réalisé.

Je veux que la sortie soit une liste comme celle-ci:

............
D:\Folder 1\Fd1\one.bat
D:\Folder 2\Fd2\two.bat
............

Est-ce que quelqu'un peut m'aider?

9
Chethan S.

Si je comprends ce que vous cherchez, essayez

dir/s/b *.bat

Si cela fonctionne, redirigez-le dans un fichier texte ....

dir/s/b *.bat > textfile.txt

Vous pouvez également trouver utile d’avoir une liste de commutateurs de ligne de commande pour la commande DIR .

26
Dennis

Je suggère d'utiliser la commande FOR avec le commutateur/R.

Par exemple, pour rechercher tous les fichiers dans et sous le répertoire actuel, utilisez:

for /r %i in (*) do @echo %i

Pour lancer la recherche dans un répertoire quelconque, utilisez la forme de la commande suivante:

for /r "C:\TMP" %i in (*) do @echo %i

Enfin, pour rechercher tous les fichiers de commandes dans le répertoire c:\bin, procédez comme suit:

for /r "c:\bin" %i in (*.bat) do @echo %i

Cependant, si vous utilisez cette commande dans un fichier de traitement par lots, vous devrez doubler les signes% pour que ces exemples deviennent:

for /r %%i in (*) do @echo %%i
for /r "C:\TMP" %%i in (*) do @echo %%i
for /r "c:\bin" %%i in (*.bat) do @echo %%i

L'utilisation de i en tant que variable ici est complètement arbitraire et a été implantée pour la première fois en moi à l'époque de Fortran.

3
Garry Offord