【发布时间】:2015-09-22 21:02:38
【问题描述】:
我对批处理比较陌生。我写了一个小脚本,它进入一些特定的目录并执行一个命令(make):
FOR /d %%p IN (Test_*) do FOR /d %%s IN (%%p\*) do make clean --directory "%%s"
所以 Test_* 表示所有以 Test_ 开头的目录。
我也想用参数调用这个脚本,这样当我指定一个目录时我也会调用这个命令,例如,像这样:
myScript.bat Test_XY
代码应该是这样的:
SET Modus=%1
IF "%Modus%"==""(
FOR /d %%p IN (Test_*) do FOR /d %%s IN (%%p\*) do make clean --directory "%%s"
)
ELSE
FOR /d %%p IN (%1) do FOR /d %%s IN (%%p\*) do make clean --directory "%%s"
但我收到语法无效的错误
我做错了什么?
【问题讨论】:
-
IF "%Modus%"=="" (行中缺少空格(""和(之间);并且ELSE必须与上面的)在同一行(以空格分隔);
标签: batch-file command-line-arguments batch-processing