batch file是否支持多行variables

如果是的话如何?

是的,batch file是跛脚,但我不能使用PowerShell,我不想写一个真正的应用程序来做这个简单的任务….

编辑

我想要的是沿着这条线的东西

set var="this is a multi line string " 

或者你可以创建一个“真正的”换行符。

 setlocal enableDelayedExpansion set NL=^ rem two empty line required echo first line !NL! second line set multi=Line1!NL!Line2 set multi=!multi!!NL!Line3 echo !Multi! 

在这个变体中,换行符是字符串中的“正常”字符,所以变量正常工作,您可以将它们分配给另一个变量,这对于&echo.是不可能的&echo. 技巧(这对于简单的任务很有用)。

这可以吗?

 @echo off set var=kur set var2=kur2 echo var is = "%var%" and var2 is = %var2% 

编辑
你是这个意思吗 ?

 @echo off set nl=^& echo. echo this%nl%is%nl%multiline%nl%string 
 SET myFlags= ^ a ^ b ^ c 

这是一个相当古老的问题,但我把@Fabricio和@jeb的解决方案混合在一起,这两个解决方案都正确工作,并增加了一些可读性:

 setlocal enableDelayedExpansion set NL=^ rem two empty line required set var=this is a !NL! ^ multi !NL! ^ line !NL! ^ string !NL! echo !var! 

而现在 – 没有辅助的SET命令:

 echo this is a & echo multi & echo line & echo string