Window Batch:Echo重定向到`\ n`作为文字然后换行

时间:2018-06-08 14:55:41

标签: windows batch-file command-prompt

请慢慢阅读问题,这很奇怪,但确实如此。

在Windows命令提示符下,我希望echo重定向打印\n作为输出文件的新行,但需要以文字(\n)代替新行。

echo "A\nB\n\C\n" > temp.txt

如果我打开temp.txt,我会看到输出为

  

A \ NB \ n \ C

而不是

A
B
C

类似的问题,例如Stack Overflow上的thisthis。但是,答案都没有达到我的目的。

我试过,其他各种选择,但没有成功:

echo  $'A\nB\nC' > temp.txt

echo  $'A\\nB\\nC' > temp.txt

所以,我的问题是,是否要实现我想在重定向中实现的新行?

2 个答案:

答案 0 :(得分:1)

@ECHO OFF
SETLOCAL
SET "var=A bucket of eels\nB\nC"
(
 FOR %%a IN ("%var:\n=" "%") DO ECHO(%%~a
)>u:\x.txt
TYPE u:\x.txt
GOTO :EOF

U:是我的试驾

这将显示对某些符号的一些敏感性。

它的工作原理是将每个\n替换为" ",然后将结果字符串括在"中。这会形成一个引用字符串列表,以便for为每个引用的字符串执行echo~删除了封闭的引号。

答案 1 :(得分:0)

以下是回复:How can you echo a newline in batch files?

所以对你的情况来说:

(echo A & echo.B & echo.C) > txt

甚至......来自同一主题:

set n=^&echo.
echo hello %n% world