是否可以在批处理文件的回显行中添加换行符?
基本上我希望能够做到相同的:
echo Hello\nWorld
您可以在Linux中轻松完成此操作,但我无法解决如何在Windows中执行此操作。
答案 0 :(得分:35)
echo.
打印一个空行。
示例:
echo Hello
echo.
echo world
打印
Hello
world
答案 1 :(得分:19)
可以通过单个回声解决。
您需要换行符\n
。
有多种方法可以将新行添加到echo
1)此示例使用多线插入符号在命令中添加换行符,
空行是必需的
echo Hello^
world
2)下一个解决方案首先创建一个包含一个换行符的变量。
set \n=^
rem ** Two empty lines are required
或者使用略微修改的版本
创建新行(set \n=^
%=DONT REMOVE THIS=%
)
并将此字符用于延迟展开
setlocal EnableDelayedExpansion
echo Hello!\n!world
要使用扩展百分比的换行符,您需要创建更复杂的序列
echo Hello^%\n%%\n%world
或者您可以使用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.
但只有新行的延迟扩展才能可靠,也在引号内。
答案 2 :(得分:13)
经过一些实验后,我发现可以在不发出How can you echo a newline in batch files?所述的两个单独的echo命令的情况下完成。但是要使其工作,您需要一个不将CR转换为CR + LF的文本编辑器。
类型:
@echo First Line
然后打开NumLock,按住ALT键并在释放ALT之前在数字键盘上键入10(您必须使用数字键盘,而不是顶行数字键)。这将插入一个CR字符。然后键入第二行。根据您的编辑器以及它与CR + LF相比如何处理CR,您可能会得到:
@echo First Line◙Second Line
或
@echo First Line
Second Line
这可以从命令行工作,只要文本编辑器不将CR转换为CR + LF(Windows / DOS编辑器除非您将它们配置为不执行),否则它将在批处理文件中工作。如果CR转换为CR + LF,或者只使用LF,则第二行被解释为新命令。
但是,我不明白为什么这比简单的更好:
@echo First Line
@echo Second Line
答案 3 :(得分:5)
Ahaha,
我想我已经找到了足够接近的东西......
echo hello&echo.&echo world
产地:
您好
世界
答案 4 :(得分:2)
<强>回声。强> 要么 的回声(强>
将执行空行新行。希望这有用。
答案 5 :(得分:0)
我发现这个信息非常丰富,所以想要使用提供的答案发布一个更好的例子
这提供了格式良好的用法消息
if "%1" == """" goto usage
:usage
echo USAGE: %0 [Set properties using -D flag] [Ant Task to Run] &
echo. &
echo Availble Command line properties &
echo -------------------------------- &
...
答案 6 :(得分:-1)
我认为这是不可能的。你只能尝试一个ascii字符: http://www.asciitable.com/ 但这可能会导致批处理文件崩溃。