如何在批处理文件中回显换行符?

How can I echo a newline in a batch file?

如何从批处理文件输出中插入换行符?

我想做如下的事情:

1
2
echo hello
world

将输出:

1
2
hello
world


用途:

1
2
3
echo hello
echo.
echo world


echo hello & echo.world

这意味着你可以定义为一个恒定的& echo.
换行。


在这里你去蝙蝠文件,创建一个在下面的信息:

1
2
3
4
5
6
7
8
9
10
11
@echo off
REM Creating a Newline variable (the two blank lines are required!)
set NLM=^


set NL=^^^%NLM%%NLM%^%NLM%%NLM%
REM Example Usage:
echo There should be a newline%NL%inserted here.

echo.
pause

你应该像下面的输出:湖

1
2
3
4
There should be a newline
inserted here.

Press any key to continue . . .

你只需要在REM语句的代码,显然。


有一个标准的特征echo:颞下颌关节/请求文件写的空白线,这一新的CMD模拟线路输出:

1
2
3
4
@echo off
@echo line1
@echo:
@echo line2

输出:CMD文件引用。

1
2
3
line1

line2


喜欢肯的应答,但与使用的延迟扩展。

1
2
3
4
5
6
7
8
9
10
setlocal EnableDelayedExpansion
(set
=^
%=Do not remove this line=%
)

echo Line1!
!Line2
echo Works also with quotes"!
!line2"

第一单换行字符创建和分配一个n变量的。本作品为符号在线路旁边的高端商务的转义字符,但如果这是一个换行字符被忽略和它是一个读取和转义(即使这是一个换行)。然后你需要一个三换行结束第三线电流指令,否则会appended到LF变量。批处理文件有一个平衡线的结局只在Cr / LF LF CR是重要的,因为在这个阶段是从它的解析器。

酒店优势的延迟扩展是使用,这是没有在所有的特殊字符处理。echo Line1%LF%Line2会失败,因为在解析器解析换行止损单。

更多的是在讲这么长的分裂过多线命令:在Vista / DOS批处理文件(或其他)这样的窗口怎么解析脚本命令解释器(cmd.exe)?

编辑:避免echo.

这个问题不好回答的问题,如什么是多线单echo可以输出。

但尽管世界卫生组织建议使用其他的答案echo.创建一新的生产线,应该说这是echo.是最糟糕的,它很慢,它可以完全自动搜索一个文件,命名为cmd.exe echo和试图启动它。

为印刷线只是空虚,你可以使用一个

1
2
3
4
5
6
echo,
echo;
echo(
echo/
echo+
echo=

echo.echo:echo\或使用,应avoided很慢,他们可以根据不同的位置,该脚本将执行,样的网络驱动。


(P)字母名称(p)(P)如果你需要它在单线上,使用字母名称1。For example,(p)字母名称(P)Would output as:(p)字母名称(P)Now,say you want some bit fancier…(p)字母名称(P)Outputs(p)字母名称(P)当你想在一个回声发言中有一条新的线的时候This is more close to your EDOCX1 theography 3 nible used in various languages.(p)(P)断电(p)(P)EDOCX1 4(音译)Sets the variable EDOCX1(p)(P)EDOCX1 6 nipls out the next symbol to follow:(p)(P)EDOCX1的意思是在同一条线上另一个指令。We don't care about errorlevel(its an Echo statement for crying out loud),so no EDOCX1.(p)(P)EDOCX1(音译)(p)(P)所有这些工作都是因为你能够实际创造出可作为守则的变量,并利用这些变量中的其他指令。It is sort of like a ghetto function,since batch is not exactly the most advanced of shell scripting languages.这仅仅是因为采用了变量,而不是在新技术、图表、图表、Strings等自然之间指定。(p)(P)如果你是疯了,你可以得到这个工作与其他事情。For example,using it to make a tab(p)字母名称


当引用到文件重定向到的东西,多回声命令将不工作。我想是的。">"转向器是一个很好的选择。

1
2
echo hello > temp
echo world >> temp


就像在grimtron表明是一个快速的例子来定义它:

1
2
3
@echo off
set newline=^& echo.
echo hello %newline%world

输出

1
2
3
C:\>test.bat
hello
world


(P)如果你需要一个文件,你可以使用(p)字母名称


所以,你可以这样做,

1
(for %i in (a b"c d") do @echo %~i)

输出将,

1
2
3
a
b
c d

注意,当这是在批处理文件"%1"应的倍。

1
(for %%i in (a b"c d") do @echo %%~i)


如果任何人来这里,因为他们在寻找回声线从一个复杂的化妆用makefile,i

@cmd /c echo.

简单的使用echo.dreaded process_begin: CreateProcess(NULL, echo., ...) failed.错误消息的原因。

我希望这帮助至少一人在那里:)其他


(P)To start a new line in batch,all you have to do is add"echo",like so:(p)字母名称


这为我工作,不必要的延迟扩展。

1
2
3
4
5
6
7
8
9
@echo off
(
echo ^<html^>
echo ^<body^>
echo Hello
echo ^</body^>
echo ^</html^>
)
pause

它的输出这样写道:

1
2
3
4
5
6
<html>
<body>
Hello
</body>
</html>
Press any key to continue . . .


(P)Ken and Jeb Solutions Works Well.(p)(P)但是,新的线路只有一个特点,我需要CRLF特征(Windows version)。(p)(P)To this,at the end of the script,I have translated lf to crlf.(p)(P)例如:(p)字母名称


(P)如果有人需要使用FAMOSS在String Literals that can be passed to a variable,可以在Hello.bat script below上写一个代码:(p)字母名称(P)This way multilline output may by prepared in one place,even in other script or external file,and printed in another.(p)(P)The line break is held in newline variable.其价值必须在欧共体人道主义援助委员会的扩展之后被替换,所以我使用了当地的Setlocal Enabledelayedexpanssion to enable exclamation signs which expand variables on execution.and the execution substitutes with newline contents(look for syntax at help set).我们可以使用!Newline!只要回答了问题,就更方便了。It may be passed from outside(try helo r2 hand2),where nobody knows the name of variable holding the line break(yes,helo c3).Newline!P0 Work the same way).(p)(P)Above example may be refined to a subroutine or standalone batch,used like EDOCX1 original 10:(p)字母名称(P)Please note,that additional backslash won't prevent the script from parsing…..(p)


你可以使用@echo(@echo + [空间] + [空间] insecable)

注:insecable空间可以得到与ALT + 0160

希望它帮助:)

[编辑]嗯,你是正确的,我需要它在一个makefile,在那里它完美。我想我的答案是不适应的批处理文件。我的浴室。


(P)I can't make i t any simpler than:(p)字母名称


(P)The most character conservative way to accomplish this in Linux systems,is with the EDOCX1 universal 11 alias-which interprets escaped characters that are backslashed.(p)字母名称(P)这里是其他的例子(p)