¿Cómo puedo iterar sobre directorios en el símbolo del sistema de Windows?

¿Cómo puedo iterar sobre directorios en el símbolo del sistema de Windows?

El símbolo del sistema de Windows (cmd.exe) proporciona el comando FOR. Se puede utilizar para realizar una operación para cualquierarchivoen un directorio. Ejemplo:

\> 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

¿Cómo puedo hacer lo mismo (de forma no recursiva) con todos los subdirectorios de un directorio determinado? La idea es:

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

La declaración for anterior no encuentra sub-607 porque no es unarchivo.

Respuesta1

El forcomando puede tomar el /Dcambio para iterar sobre subdirectorios, en lugar de archivos.

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

Consulte aquí para obtener más información:http://ss64.com/nt/for_d.html

información relacionada