Como posso iterar em diretórios no prompt de comando do Windows?

Como posso iterar em diretórios no prompt de comando do Windows?

O prompt de comando do Windows (cmd.exe) fornece o comando FOR. Ele pode ser usado para fazer uma operação para qualquerarquivoem um diretório. Exemplo:

\> dir
28.05.2012  18:25                69 buildall.bat
28.05.2012  07:48    <DIR>          include
28.05.2012  18:23    <DIR>          sub-607

\> for %d in (*.bat) echo %d

Como posso fazer a mesma coisa (não recursivamente) com todos os subdiretórios de um determinado diretório? A ideia é:

for %d in (sub-*) do (
  cd %d
  dosomething
  cd ..
)

A instrução for acima não encontra sub-607 porque não é umarquivo.

Responder1

O forcomando pode usar a /Dopção para iterar em subdiretórios, em vez de arquivos.

for /D %d in (sub-*) do ...

Veja aqui para mais informações:http://ss64.com/nt/for_d.html

informação relacionada