批处理文件中的换行符

Gra*_*ton 5 windows batch-file

我有一个简单的批处理文件(forbat.bat),内容如下:

FOR /F "tokens=4 delims=," %%G IN ("deposit,$4500,123.4,12-AUG-09") DO @echo Date paid %%G
Run Code Online (Sandbox Code Playgroud)

当我运行这个批处理文件时,我可以得到结果。

现在,我想将这些行分成几行,以便于阅读。这就是我所做的:

FOR /F "tokens=4 delims=," %%G IN ("deposit,$4500,123.4,12-AUG-09") 
 DO 
 @echo Date paid %%G 
Run Code Online (Sandbox Code Playgroud)

这一次,我收到了“命令的语法不正确”错误。

看来我在引入换行符时一定漏掉了一些分号和斜线。如何使上述代码在 Windows 批处理文件中工作?

Joe*_*oey 6

正如丹尼斯所说,您可以使用插入符号,在以下行的开头不能有空格:

FOR /F "tokens=4 delims=," %%G IN ("deposit,$4500,123.4,12-AUG-09") ^ 
DO ^ 
echo Date paid %%G
Run Code Online (Sandbox Code Playgroud)

否则它不起作用。但是,如果您愿意将 保留DO在原始行中,则可以使用括号来分隔块

FOR /F "tokens=4 delims=," %%G IN ("deposit,$4500,123.4,12-AUG-09") DO (
   @echo Date paid %%G
)
Run Code Online (Sandbox Code Playgroud)


Gra*_*ton 1

这是正确的语法,适用于我的 Windows XP 计算机:

FOR /F "tokens=4 delims=," %%G IN ("deposit,$4500,123.4,12-AUG-09") DO (  
@echo Date paid %%G 
@echo hiforbat ) 
Run Code Online (Sandbox Code Playgroud)

这是输出:

Date paid 12-AUG-09
hi
Run Code Online (Sandbox Code Playgroud)