我有一个简单的batch file( forbat.bat ),具有以下内容:
FOR /F "tokens=4 delims=," %%G IN ("deposit,$4500,123.4,12-AUG-09") DO @echo Date paid %%G
当我运行这个batch file时,我可以得到结果。
现在,我想把这几行分成几行,使它们更易于阅读。 这就是我所做的:
FOR /F "tokens=4 delims=," %%G IN ("deposit,$4500,123.4,12-AUG-09") DO @echo Date paid %%G
这一次,我得到了一个“命令的语法不正确”的错误。
在引入换行符时,我似乎一定错过了一些分号和斜线。 如何使上述代码在Windowsbatch file中工作?
正如丹尼斯所说的那样,你可以使用脱字符号, 但是在下面的行开头不能有空格:
FOR /F "tokens=4 delims=," %%G IN ("deposit,$4500,123.4,12-AUG-09") ^ DO ^ echo Date paid %%G
否则它不起作用。 但是,如果您愿意将DO留在原始行中,则可以使用括号来限定块
FOR /F "tokens=4 delims=," %%G IN ("deposit,$4500,123.4,12-AUG-09") DO ( @echo Date paid %%G )
在命令分割的每一行的结尾处,需要一个“ ^ ”作为续行字符。
FOR /F "tokens=4 delims=," %%G IN ("deposit,$4500,123.4,12-AUG-09") ^ DO ^ echo Date paid %%G
这是正确的语法,适用于我的Windows XP机器:
FOR /F "tokens=4 delims=," %%G IN ("deposit,$4500,123.4,12-AUG-09") DO ( @echo Date paid %%G @echo hiforbat )
这是输出:
Date paid 12-AUG-09 hi