绕过多行字符串

时间:2011-08-12 13:52:32

标签: windows batch-file cmd

我正在尝试创建一个批处理文件,该文件传递一个带有换行符的字符串,但它没有用完。字符串的延续作为新命令执行。

是否有编码换行符或使其有效?

2 个答案:

答案 0 :(得分:33)

您可以使用插入符直接创建多行字符串(需要一个空行)。

setlocal EnableDelayedExpansion
set multiLine=This is a ^

multiline text^

line3
echo !multiLine!

或者您可以先创建一个换行符。

setlocal EnableDelayedExpansion
set LF=^


rem Two empty lines are required
set multiLine=This is a!LF!multiline text!LF!line3
echo !multiLine!

可以在Explain how dos-batch newline variable hack works

找到有关其工作原理的说明

答案 1 :(得分:0)

扩展到jeb answer, 在每行中添加!LF!^很容易

setlocal EnableDelayedExpansion
set LF=^



set multiLine=This is a!LF!^
multiline text!LF!^
line3
echo !multiLine!