Outra pergunta de um usuário antigo de Unix / Linux que se encontra no mundo do Windows. Primeiro, deixe-me explicar exatamente o que estou tentando fazer. Estou usando o shell cmd.exe do Windows e quero listar todos os diretórios abaixo do diretório atual que contêm uma hierarquia bin \ Debug e determinar se eles contêm algum arquivo (por exemplo: tentando descobrir se meu destino limpo do NAnt é trabalhando corretamente). Minha hierarquia pode se parecer com isso:
\Current
\DirA
\bin
\Debug
(some files under debug)
\Release
\DirB
\bin
\Debug
\DirC
\bin
\Release
No Unix, ls */bin/Debug
apenas me dava uma lista de todas as coisas DirA/bin/Debug
e me mostrava o fato de que DirB/bin/Debug
está vazio. Eu tentei contorções diferentes no shell do cmd, mas continue com coisas como:
> dir * \ bin \ Debug O nome do arquivo, nome do diretório ou sintaxe do rótulo do volume está incorreto. > dir * \ * \ * O nome do arquivo, nome do diretório ou sintaxe do rótulo do volume está incorreto.
Existe algo sutil que eu não entendo sobre o comando dir, ou é apenas limitado dessa maneira?
Sim, eu sei que posso mudar para o explorer, navegar, clicar com o botão direito e provavelmente criar uma pesquisa que faça o que eu quero, mas estou mais interessado na solução de linha de comando quick-n-dirty.