【问题标题】:Newlines in batchfiles via caret ampersand echo. (^&echo.)通过插入符号和回显在批处理文件中换行。 (^&回声。)
【发布时间】:2013-06-18 19:39:28
【问题描述】:

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

 set nl=^&echo.

例如:

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

产量

Hello
world

但是为什么会这样呢? ^&的意义是什么?

【问题讨论】:

标签: windows batch-file cmd


【解决方案1】:

将代码放在一个 .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.,它输出一个新行。

【讨论】:

  • 感谢您的简洁解释!
猜你喜欢
  • 2010-09-13
  • 2011-02-11
  • 1970-01-01
  • 1970-01-01
  • 2011-06-03
  • 2016-02-25
  • 2016-01-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多