我有很多以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
.... 有什么想法吗?
答案 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