我正在尝试执行一个命令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
编辑:
添加了>con
Brent 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
享受!