batch file中的行中断

我有一个简单的batch fileforbat.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