3

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

 set nl=^&echo.

例如:

set nl=^&echo.
echo Hello%nl%world

产量

Hello
world

但为什么这行得通?^&的意义是什么?

4

1 回答 1

9

将代码放在 .bat 文件中,不要将 echo 设置为 off(让 echo on),您将看到命令是如何被扩展和执行的。

set nl=^&echo.
echo One%nl%Two%nl%Three

输出

C:\>set nl=&echo.

C:\>echo One  & echo.Two & echo.Three
One
Two
Three

^转义&特殊字符,使其成为能够在nl变量内设置的文字字符。然后当nl变量被展开时,&echo.被插入。

剩下的就是解构这个&echo.部分。与&号表示新命令从同一行开始。同一行上的新命令是echo.,它输出一个新行。

于 2013-06-18T20:53:11.800 回答