Windows BATCH脚本错误 - 执行(此时是意外的

Kel*_*lly 3 batch-file

我尝试运行一个简单的批处理脚本,如下所示.基本上我想访问给定目录中的每个子目录并运行gmake命令.

echo %USER_DEF_VAR%
cd %USER_DEF_VAR%\topLevelDir
for /D %G in ("%USER_DEF_VAR%\topLevelDir\*") do ( 
cd %G
gmake clean
gmake 
)
Run Code Online (Sandbox Code Playgroud)

如果我在命令行上运行此脚本,它可以正常工作.但是,当我把它放在一个.bat脚本中时,它会抛出一个错误说

做(此时出乎意料.

我试图尽可能删除空格,如此处所示 - 嵌套For循环批处理文件错误:此时出现意外

我仍然面临同样的问题.

End*_*oro 6

在批处理脚本中,您必须加倍%:

for /D %%G in ("%USER_DEF_VAR%\topLevelDir\*") do ( 
cd "%%~G"
...
)
Run Code Online (Sandbox Code Playgroud)