是否可以在批处理文件中的回显行中添加新的行字符?

Ben*_*enj 17 windows batch-file

是否可以在批处理文件中的回显行中添加新的行字符?

基本上我希望能够做到相当于:

echo Hello\nWorld
Run Code Online (Sandbox Code Playgroud)

您可以在Linux中轻松完成此操作,但我无法解决如何在Windows中执行此操作.

Bli*_*vor 35

echo. 打印一个空行.

例:

echo Hello
echo.
echo world
Run Code Online (Sandbox Code Playgroud)

版画

Hello

world
Run Code Online (Sandbox Code Playgroud)

  • `echo`比`echo(`的速度慢〜20倍,当文件存在时名称为`echo`而没有扩展名时,它会完全失败.所以`echo(`更安全,更快) (6认同)
  • `echo(`在DOS 6.22中不起作用.(尽管此时可能只有极少的观众.) (4认同)

jeb*_*jeb 19

它可以通过单个回声来解决.

你需要一个换行符\n.有多种方法可以获得新的线路echo

1)此示例使用多行插入符号在命令中添加换行符,
需要空行

echo Hello^

world
Run Code Online (Sandbox Code Playgroud)

2)下一个解决方案首先创建一个包含一个换行符的变量.

set \n=^


rem ** Two empty lines are required
Run Code Online (Sandbox Code Playgroud)

或者使用略微修改的版本创建新行

(set \n=^
%=DONT REMOVE THIS=%
)
Run Code Online (Sandbox Code Playgroud)

并使用此字符延迟扩展

setlocal EnableDelayedExpansion
echo Hello!\n!world
Run Code Online (Sandbox Code Playgroud)

要使用具有百分比扩展的换行符,您需要创建更复杂的序列

echo Hello^%\n%%\n%world
Run Code Online (Sandbox Code Playgroud)

或者你可以使用New line hack

REM Creating a Newline variable (the two blank lines are required!)
set \n=^


set NL=^^^%\n%%\n%^%\n%%\n%
REM Example Usage:
echo There should be a newline%NL%inserted here.
Run Code Online (Sandbox Code Playgroud)

但只有新行的延迟扩展才能可靠,也在引号内.


Cli*_*ord 13

经过一些实验后,我发现可以在不发出两个单独的echo命令的情况下完成它,如在批处理文件如何回显换行符中所述?.但是要使其工作,您需要一个不将CR转换为CR + LF的文本编辑器.

类型:

@echo First Line
Run Code Online (Sandbox Code Playgroud)

然后打开NumLock,按住ALT键并在释放ALT之前在数字键盘上键入10(您必须使用数字键盘,而不是顶行数字键).这将插入一个CR字符.然后键入第二行.根据您的编辑器以及它与CR + LF相比如何处理CR,您可能会得到:

@echo First Line?Second Line
Run Code Online (Sandbox Code Playgroud)

要么

@echo First Line
Second Line
Run Code Online (Sandbox Code Playgroud)

这可以从命令行工作,只要文本编辑器不将CR转换为CR + LF(除非您不将它们配置为Windows/DOS编辑器,否则它将在批处理文件中工作).如果CR转换为CR + LF,或者仅使用LF,则第二行将被解释为新命令.

但是,我不明白为什么这比简单的更好:

@echo First Line
@echo Second Line
Run Code Online (Sandbox Code Playgroud)


Ben*_*enj 6

Ahaha,

我想我已经找到了足够接近的东西......

echo hello&echo.&echo world
Run Code Online (Sandbox Code Playgroud)

生产:

你好

世界