在批处理文件的echo行中添加换行符是否可行?
在批处理文件的echo行中添加换行符是否可行?
这个问题已经有了答案:
在批处理文件中,是否可以在echo语句中插入一个换行符?
基本上,我想要执行与以下命令等效的命令:
echo Hello\nWorld
在Linux中可以轻松地完成这个任务,但我无法在Windows中实现它。
admin 更改状态以发布 2023年5月22日
这可以通过单个 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.
但只有延迟扩展的换行符在引号内和外都可靠地工作。