4

Командная строка 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 ответ1

7

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .