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.

StarDotStar
fuente

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).

Michael Todd
fuente
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

Tribrach
fuente
23

Puede obtener los parámetros que solicita escribiendo:

dir /?

Para la lista completa, intente:

dir /s /b /a:d
Fortius
fuente
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.

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

Me gusta usar lo siguiente para obtener una lista ordenada del directorio actual:

> dir . /s /b sortorder:N
Amor y paz - Joe Codeswell
fuente