Lista de arquivos com caminho usando a linha de comando do Windows

9

Minha estrutura de pastas em uma unidade é assim (no Windows):

Folder 1
 Fd1
 Fd2
 Fd3
 Fd4
 Fd5
Folder 2
 Fd1
 Fd2
 Fd3
 Fd4
 Fd5

Esse acordo continua por 100s de pastas. Dentro de Fd1 de cada Pasta x , há determinados arquivos .bat . Eu estou procurando uma maneira de extrair uma lista de .bat arquivos com caminho inteiro usando a linha de comando do Windows para um arquivo de texto. Com pouca experiência no uso do prompt de comando, não tenho ideia de como isso pode ser alcançado.

Eu quero que a saída seja uma lista como esta:

............
D:\Folder 1\Fd1\one.bat
D:\Folder 2\Fd2\two.bat
............

Alguém pode me ajudar?

    
por Chethan S. 17.01.2012 / 19:10

2 respostas

25

Se eu entendi o que você está procurando tente

dir/s/b *.bat

Se isso funcionar, redirecione-o para um arquivo de texto ....

dir/s/b *.bat > textfile.txt

Você também pode achar útil ter uma lista de opções de linha de comando para o comando DIR .

    
por 17.01.2012 / 19:24
3

Sugiro usar o comando FOR com a opção / R.

Por exemplo, para localizar todos os arquivos no diretório atual, use:

for /r %i in (*) do @echo %i

Para começar a pesquisar a partir de um diretório arbitrário, use esta forma do comando:

for /r "C:\TMP" %i in (*) do @echo %i

Por fim, para procurar todos os arquivos em lote no diretório c: \ bin, você pode fazer isso:

for /r "c:\bin" %i in (*.bat) do @echo %i

Um ponto que devo fazer, no entanto, é que se você estiver usando este comando em um arquivo de lote, você precisará dobrar os sinais%, então estes exemplos se tornarão:

for /r %%i in (*) do @echo %%i
for /r "C:\TMP" %%i in (*) do @echo %%i
for /r "c:\bin" %%i in (*.bat) do @echo %%i

O uso de i como variável aqui é completamente arbitrário, e foi implantado pela primeira vez em mim nos meus dias de FORTRAN.

    
por 13.08.2013 / 15:24