Lista de diretórios recursivos no DOS

201

Como podemos obter uma listagem de diretório recursiva no DOS?

Estou procurando um comando ou um script no DOS que possa me fornecer a listagem de diretórios recursivos semelhante ao ls -Rcomando no Unix.

StarDotStar
fonte

Respostas:

361

Você pode usar:

dir /s

Se você precisar da lista sem todas as informações de cabeçalho / rodapé, tente o seguinte:

dir /s /b

(Com certeza isso funcionará para o DOS 6 e posterior; pode ter funcionado antes disso, mas não me lembro.)

Michael Todd
fonte
7
+1 muito útil. Se seus diretórios contiverem muitos arquivos, esse comando os rolará na tela muito rapidamente para serem lidos. Eu acho que é melhor canalizar a saída desse comando para um arquivo txt que você pode ler na sua própria velocidade. Por exemplo (assumindo c: \ temp é criado): dir C: \ / s> C: \ temp \ CDirectoryListing.txt
Steven Magana-Zook
Você senhor, é realmente incrível! Funcionou como um encanto! Eu usei no trabalho (onde somos forçados a ter máquinas Windows) com o gVIM! Muito, muito bom! Você me salvou horas de dor de cabeça!
Walialu
Por alguma razão, imprime o caminho absoluto completo com a pasta C: \ na frente ao usar / S e / B, isso é evitável? Eu só quero o nome do arquivo relativo.
Lama12345
2
Sim, funciona perfeitamente com Pesquisar / Substituir "C: / folder" e substituir por "".
Lama12345
22
Só para acrescentar: tree /fdá uma exibição agradável aos olhos :-)
Arun
25

dir /s /b /a:d>output.txt irá portá-lo para um arquivo de texto

Tribrach
fonte
23

Você pode obter os parâmetros solicitados digitando:

dir /?

Para a lista completa, tente:

dir /s /b /a:d
Fortius
fonte
3

Você pode usar várias opções com o FINDSTR para remover as linhas que não deseja, como:

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

Saída normal contém entradas como estas:

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

Você pode removê-los usando as várias opções de filtragem oferecidas pelo FINDSTR. Você também pode usar os excelentes unxutils, mas ele converte a saída em UNIX por padrão, para que você não obtenha mais CR + LF; O FINDSTR oferece a melhor opção para Windows.

Zeinab Qureshi
fonte
Agradável! Meu requisito adicional é contar todas as linhas, o que é feito dir /s /b | find /v /c "".
#
3

Eu gosto de usar o seguinte para obter uma lista bem ordenada do diretório atual:

> dir . /s /b sortorder:N
Amor e paz - Joe Codeswell
fonte