在批处理文件的echo行中添加换行符是否可行?

14 浏览
0 Comments

在批处理文件的echo行中添加换行符是否可行?

这个问题已经有了答案:

如何在批处理文件中输出换行符?

在批处理文件中,是否可以在echo语句中插入一个换行符?

基本上,我想要执行与以下命令等效的命令:

echo Hello\nWorld

在Linux中可以轻松地完成这个任务,但我无法在Windows中实现它。

admin 更改状态以发布 2023年5月22日
0
0 Comments

这可以通过单个 echo 命令解决。

你需要一个换行符 \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

或者您可以使用新的行插入符

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.

但只有延迟扩展的换行符在引号内和外都可靠地工作。

0
0 Comments

echo. 输出一个空行。

例如:

echo Hello
echo.
echo world

输出:

Hello
world

0