如何从批处理文件输出中插入换行符?

我想做的事情是:

echo hello\nworld

这将输出:

hello
world

当前回答

为什么不使用子字符串/替换空格来echo;?

set "_line=hello world"
echo\%_line: =&echo;%

结果:

hello
world

或者,将\n替换为echo;

set "_line=hello\nworld"
echo\%_line:\n=&echo;%

其他回答

Ken和Jeb的解决方案效果很好。

但是新行只生成一个LF字符,我需要CRLF字符(Windows版本)。

为此,在脚本的末尾,我已经将LF转换为CRLF。

例子:

TYPE file.txt | FIND "" /V > file_win.txt
del file.txt
rename file_win.txt file.txt

如果你需要把结果放到一个文件中,你可以使用:

(echo a & echo: & echo b) > file_containing_multiple_lines.txt

Use:

echo hello
echo:
echo world

可以使用@echo (@echo +[空间]+[不安全空间])

注:不安全空间可用Alt+0160获取

希望能有所帮助。

嗯,你是对的,我需要它在一个Makefile中,它在那里工作得很好。我想我的答案不适合批处理文件…我的坏。

如果有人来这里是因为他们想从MINGW make makefile中回显一个空行,我使用

@cmd /c echo。

简单地使用echo。导致可怕的process_begin: CreateProcess(NULL, echo。,…)失败了。错误消息。

我希望这能帮助到至少一个人:)