批量文件中的换行符通过插入符号&符号回显.(^&回声.)

Ano*_*ous 2 windows cmd batch-file

所以今天我了解到可以通过以下命令设置换行符:

 set nl=^&echo.
Run Code Online (Sandbox Code Playgroud)

例如:

set nl=^&echo.
echo Hello%nl%world
Run Code Online (Sandbox Code Playgroud)

产量

Hello
world
Run Code Online (Sandbox Code Playgroud)

但为什么这有效呢?^&的意义是什么?

Dav*_*ann 8

将代码放在.bat文件中,不要将echo设置为off(保持echo开启),您将看到如何扩展和执行命令.

批量

set nl=^&echo.
echo One%nl%Two%nl%Three
Run Code Online (Sandbox Code Playgroud)

产量

C:\>set nl=&echo.

C:\>echo One  & echo.Two & echo.Three
One
Two
Three
Run Code Online (Sandbox Code Playgroud)

^转义&,使其能够在内部设置文字字符,特殊字符nl变量.然后,当nl扩展变量时,&echo.插入.

剩下的就是解构&echo.部分.&符号&表示新命令在同一行开始.同一行上的新命令是echo.输出新行.