请慢慢阅读问题,这很奇怪,但确实如此。
在Windows命令提示符下,我希望echo
重定向打印\n
作为输出文件的新行,但需要以文字(\n
)代替新行。
echo "A\nB\n\C\n" > temp.txt
如果我打开temp.txt
,我会看到输出为
A \ NB \ n \ C
而不是
A
B
C
类似的问题,例如Stack Overflow上的this和this。但是,答案都没有达到我的目的。
我试过,其他各种选择,但没有成功:
echo $'A\nB\nC' > temp.txt
echo $'A\\nB\\nC' > temp.txt
等
所以,我的问题是,是否要实现我想在重定向中实现的新行?
答案 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