如何从批处理文件输出中插入换行符?
我想做的事情是:
echo hello\nworld
这将输出:
hello
world
如何从批处理文件输出中插入换行符?
我想做的事情是:
echo hello\nworld
这将输出:
hello
world
当前回答
在windows 10的虚拟终端序列中,存在高度控制光标位置的方法。
要定义转义序列0x1b,可以使用以下方法:
@Echo off
For /f %%a in ('echo prompt $E^| cmd')Do set \E=%%a
在字符串之间输出一个换行符:
<nul set /p "=Hello%\E%[EWorld"
输出n个换行符,其中n被整数替换。
<nul set /p "=%\E%[nE"
Many
其他回答
Use:
echo hello
echo:
echo world
如果你需要把结果放到一个文件中,你可以使用:
(echo a & echo: & echo b) > file_containing_multiple_lines.txt
Ken和Jeb的解决方案效果很好。
但是新行只生成一个LF字符,我需要CRLF字符(Windows版本)。
为此,在脚本的末尾,我已经将LF转换为CRLF。
例子:
TYPE file.txt | FIND "" /V > file_win.txt
del file.txt
rename file_win.txt file.txt
你也可以这样做,
(for %i in (a b "c d") do @echo %~i)
输出将是,
a
b
c d
请注意,当将其放入批处理文件中时,'%'应该加倍。
(for %%i in (a b "c d") do @echo %%~i)
简单的
set nl=.
echo hello
echo%nl%
REM without space ^^^
echo World
结果:
hello
world