批处理脚本 - 带有\ n的Echo变量

时间:2016-08-30 12:42:27

标签: batch-file

我有一个像这样的批处理脚本变量:

Set myvar=hello\nworld

当我回复myvar时,我从字面上得到了整个hello \ nworld。我如何要求它解析我的\ n并将其表示为一个新的行字符,以便我能用两行回应它?

2 个答案:

答案 0 :(得分:2)

如果您的问题确实意味着"如何在变量中嵌入换行符?",那么这就是答案:

^

插入符set字符意味着按字面意思取下一个字符,但在这种情况下,&#34;下一个字符&#34;只是一个新行,所以它在字面上取自变量,命令一直持续到行的下一行(照例),因此world命令在<NL>行之后结束。嵌入式<NL>只能通过延迟!扩展来正确处理!

在其他情况下,嵌入式for /F %%a in ("!myvar!") do echo %%a 已正确处理;例如:

{{1}}

答案 1 :(得分:0)

想象一下,有不同的编程语言,\n并不总是意味着&#34;新线&#34; ;)

如果你想在一行代码中使用它,那么

echo hello&echo.world会做你想要的。否则就是

echo hello
echo.world

批处理echo.表示新行,如果.后跟一些文本,则表示在新行中回显文本。