绕过多行字符串

chi*_*ef7 29 windows cmd batch-file

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

无论如何编码换行或使其工作?

jeb*_*jeb 34

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

setlocal EnableDelayedExpansion
set multiLine=This is a ^

multiline text^

line3
echo !multiLine!
Run Code Online (Sandbox Code Playgroud)

或者您可以先创建换行符.

setlocal EnableDelayedExpansion
set LF=^


rem Two empty lines are required
set multiLine=This is a!LF!multiline text!LF!line3
echo !multiLine!
Run Code Online (Sandbox Code Playgroud)

解释如何工作可以在Explain中找到dos-batch换行变量hack如何工作