Как перебирать каталоги в командной строке Windows?

Как перебирать каталоги в командной строке Windows?

Командная строка Windows (cmd.exe) предоставляет команду FOR. Она может быть использована для выполнения операции для любогофайлв каталоге. Пример:

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

Как я могу сделать то же самое (не рекурсивно) со всеми подкаталогами в заданном каталоге? Идея такова:

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

Вышеприведенный оператор for не находит sub-607, потому что это нефайл.

решение1

Команда forможет использовать /Dпереключатель для перебора подкаталогов, а не файлов.

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

Смотрите здесь для более подробной информации:http://ss64.com/nt/for_d.html

Связанный контент