De alguma forma, como dir /b
o comando, mas também preciso de arquivos ocultos e de sistema. O comando dir integrado não permite listar esses arquivos 'ocultos' com o resto e devo usar /s
para ter o caminho completo lá, o que obviamente não é recursivo.
Também brinquei com a versão do ls
comando windows e também não tive sorte. Para exibir o caminho completo você deve adicionar um asterisco ( mydir\*
) no final do diretório que você está listando, mas isso o torna recursivo.
Responder1
Se não quiser instalar nada, você também pode usar o seguinte comando:
for /f "delims=" %a in ('cd') do @for /f %b in ('dir /b /a') do @echo %a\%b
Você precisa cd
entrar no diretório primeiro ou não funcionará.
Responder2
Experimente o seguinte comando:
dir /s /b /a
Ele fornecerá TODOS os arquivos, você pode executá-los FIND
se quiser ou adicionar um nome de pasta.
Responder3
Se você tentou o ls, por que não instalar o cygwin? Você pode usar find no cygwin:
find -name "*"
Se você instalar o cygwin e quiser usar o find no cygwin, certifique-se de que o find no cygwin seja chamado usando o caminho completo ou insira o caminho do bin do cygwin antes do system32 porque o Windows também possui um find.exe.
Responder4
Esta é uma pergunta antiga, mas pensei em acrescentar algo de qualquer maneira.
DIR não percorre corretamente todas as árvores de diretórios desejadas, principalmente aquelas em C:. Ele simplesmente desiste em alguns lugares devido a diferentes proteções.
ATTRIB funciona muito melhor porque encontra mais. (Por que essa diferença? Por que a MS faria um utilitário funcionar de uma maneira e outro diferente nesse aspecto? Dane-se se eu sei.) Na minha experiência, a maneira mais eficaz de lidar com isso, embora seja um erro, é obter duas listagens:
attrib /s /d C:\ >%TEMP%\C-with-directories.txt
attrib /s C:\ >%TEMP%\C-without-directories.txt
e obtenha a diferença entre eles. Essa diferença são os diretórios em C: (exceto aqueles que estão muito bem escondidos). Para C:, normalmente eu faria isso executando como administrador.