Перебирать каталоги, начинающиеся с определенной буквы, и выполнять пакетный скрипт.

У меня много каталогов, которые начинаются с UT_ (UT_abc, UT_def, UT_ghi, ...). Я хотел бы зайти в каждый из этих каталогов и выполнить команду (создать файл). Я пробовал это:

FOR /f %%p IN ("UT_*") DO make "%%p" /s /q

Но это не работает. Кроме того, в каждом из этих каталогов UT_xyz существует один каталог и содержимое. Например:

UT_abc\directoryabc\makefile
UT_def\directorydef\makefile
UT_ghi\directoryghi\makefile

.... Есть идеи?


person JohnDoe    schedule 03.09.2015    source источник


Ответы (1)


В настоящее время вы анализируете литеральную строку "UT*".

Используйте обычное перечисление каталогов и правильно укажите путь к make:

FOR /d %%p IN (UT_*) do FOR /d %%s IN (%%p\*) do make --directory "%%s" /s /q

Или измените рабочий каталог на этот каталог:

FOR /d %%p IN (UT_*) do FOR /d %%s IN (%%p\*) do pushd "%%~dpnxs" & make /s /q & popd
person wOxxOm    schedule 03.09.2015