Listado de directorio recursivo en DOS


201

¿Cómo logramos un listado recursivo de directorios en DOS?

Estoy buscando un comando o una secuencia de comandos en DOS que me puede dar el listado recursivo de directorios similar al ls -Rcomando en Unix.

Respuestas:


361

Puedes usar:

dir /s

Si necesita la lista sin toda la información del encabezado / pie de página, intente esto:

dir /s /b

(Seguro que esto funcionará para DOS 6 y posterior; podría haber funcionado antes de eso, pero no puedo recordarlo).


77
+1 muy útil. Si sus directorios contienen muchos archivos, entonces este comando los desplazará en la pantalla demasiado rápido para leerlos. Creo que es mejor canalizar la salida de este comando a un archivo txt que pueda leer a su propia velocidad. Por ejemplo (suponiendo que se crea el directorio c: \ temp): dir C: \ / s> C: \ temp \ CDirectoryListing.txt
Steven Magana-Zook

Usted señor, eres realmente increíble! ¡Funcionó a las mil maravillas! ¡Lo utilicé en el trabajo (donde nos vemos obligados a tener máquinas con Windows) con gVIM! ¡Muy, muy bien! Me salvaste horas de dolor de cabeza!
Walialu

Por alguna razón, imprime la ruta absoluta completa con la carpeta C: \ al frente cuando se usa / S y / B, ¿se puede evitar? Solo quiero el nombre de archivo relativo.
lama12345

2
Sí, funciona perfectamente con Buscar / Reemplazar "C: / carpeta" y reemplazar con "".
lama12345

22
Solo para agregar: tree /fda una vista agradable a la vista :-)
Arun

25

dir /s /b /a:d>output.txt lo portará a un archivo de texto


23

Puede obtener los parámetros que solicita escribiendo:

dir /?

Para la lista completa, intente:

dir /s /b /a:d

3

Puede utilizar varias opciones con FINDSTR para eliminar las líneas que no desea, de esta manera:

DIR /S | FINDSTR "\-" | FINDSTR /VI DIR

La salida normal contiene entradas como estas:

28-Aug-14  05:14 PM    <DIR>          .
28-Aug-14  05:14 PM    <DIR>          ..

Puede eliminarlos utilizando las diversas opciones de filtrado que ofrece FINDSTR. También puede usar los excelentes unxutils, pero convierte la salida a UNIX de forma predeterminada, por lo que ya no obtiene CR + LF; FINDSTR ofrece la mejor opción de Windows.


¡Agradable! Mi requisito adicional es contar todas las líneas, lo que se hace con dir /s /b | find /v /c "".
domih

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.