Listar archivos con ruta usando la línea de comando de Windows

11

La estructura de mi carpeta en una unidad es así (en Windows):

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

Este arreglo continúa para cientos de carpetas. Dentro de Fd1 de cada Carpeta x hay ciertos .batarchivos. Estoy buscando una manera de extraer una lista de .batarchivos con la ruta completa usando la línea de comandos de Windows a un archivo de texto. Con poca experiencia en el uso del símbolo del sistema, no tengo idea de cómo se puede lograr esto.

Quiero que la salida sea una lista como esta:

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

¿Alguien me puede ayudar?

Chethan S.
fuente

Respuestas:

4

Sugeriría usar el comando FOR con el modificador / R.

Por ejemplo, para buscar todos los archivos en y debajo del directorio actual, use:

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

Para comenzar a buscar desde un directorio arbitrario, use esta forma del comando:

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

Y, por último, para buscar todos los archivos por lotes en el directorio c: \ bin, puede hacer esto:

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

Sin embargo, un punto que debo señalar es que si está utilizando este comando en un archivo por lotes, deberá duplicar los signos de%, por lo que estos ejemplos se convertirán en:

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

El uso de i como variable aquí es completamente arbitrario, y fue implantado por primera vez en mí en mis días FORTRAN.

Garry Offord
fuente