如何在 cmd.exe 命令中插入新行?

如何在 cmd.exe 命令中插入新行?

我正在尝试执行一个命令cmd.exe,并以换行符或新行作为命令的一部分,如下所示:

command -option:text  
whatever

但是每个新行都会执行该命令,而不是在下一行继续执行命令。

那么如何在 cmd.exe 中输入换行符或创建多行命令?

答案1

使用^字符作为转义符:

command -option:text^ 
whatever

我假设您使用的cmd.exe是 Windows XP 或更高版本。这不是真正的 DOS。如果您使用的是真正的 DOS(MS-DOS、Win3.1、Win95、Win98、WinME),那么我认为没有换行符。您需要运行自定义 shell。每次您按 Enter 键时,行尾cmd.exe都会出现提示,只需再次按 Enter 键即可实际转义/嵌入换行符。More?^

答案2

使用数字键盘的 Alt 代码

C:\>ver

Microsoft Windows [Version 6.3.9600]

C:\>echo Line1◙Line2 >con
Line1
Line2

C:\>

该换行符可以作为Alt 代码在 CLI 上使用数字键盘:打开 NumLock 后,按住 ALT 并在数字键盘上输入 10,然后释放 ALT。如果您还需要 CR,请先按 Alt+13,然后按 Alt+10 键入它们:♪◙

注意:这在批处理文件中不起作用。

示例用例:

您正在尝试读取 %PATH% 或 %CLASSPATH% 环境变量以快速了解其中的内容及其顺序 - 但返回的文本path无法读取。那么您可以快速输入以下内容:

echo %path:;=◙% >con

编辑:

添加了>conBrent Rittenhouse 为较新版本的 cmd.exe 发现的解决方法,原始方法已停止工作。

答案3

我不知道这是否对你有用,但通过在你想要的每个语句之间放置 &echo(以下空格很重要)。在新行上。我只用一个简单的 bat 文件尝试过这个

echo %1

然后将其保存为 testNewLines.bat

那么 cmd 行

testNewLines first line&echo Second Line&echo Third line

导致以下内容被回显

第一行
第二行
第三行

答案4

扩展@Amit 的答案(https://superuser.com/a/1132659/955256)我找到了一种无需使用旧式控制台即可使用任何字体进行操作的方法。

您需要做的只是用 ALT-10 字符回显该行,然后将其重定向到con,它就会起作用!

例如,给定:

(回显检测到新行 rigghhhtt ◙^<--- 这里!)> CON

编辑:有趣的事实,您似乎可以像这样将重定向放在开头:

> CON echo 检测到新行 rigghhhtt ◙^<--- 在这里!

很奇怪吧?

您将获得以下输出:


New-line detected rigghhhtt  
<-- HERE!

(周围的括号是可选的。)

这里是一个更强大的例子,说明你可以用这个和回车符来做什么,它们现在可以工作了,而且完全独立!:

最重要的是,如果你重定向到一个文件,这个方法也能起作用!
(只需更改> CON> desired_output_file.txt

享受!

相关内容