遍历以特定字母开头的目录并执行批处理脚本

时间:2015-09-03 09:22:07

标签: batch-file command-prompt gnu-make

我有很多以UT_(UT_abc,UT_def,UT_ghi,...)开头的目录。 我想进入每个目录并执行一个命令(一个makefile)。我试过这个:

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

但它不起作用。此外,在每个UT_xyz目录中,存在一个目录而不是内容。例如:

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

....  有什么想法吗?

1 个答案:

答案 0 :(得分:0)

目前你是parsing文字字符串"UT*"

使用normal directory enumeration并将路径正确传递给make

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

或者将workdir更改为该目录:

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