本帖最后由 JooKin 于 2011-9-19 20:43 编辑
回复 14# Hello123World
不是的,执行完第3行(严格来说应该是第2行,因为^的存在原来的第3行已经接上第2行的末尾成为一行了)已经结束了。看下面的两个例子就明白了:- ::例1
- @echo off
- echo Hey,Hello123World!
-
-
- pause
复制代码 结果:- Hey,Hello123World!
- 请按任意键继续. . .
复制代码
- ::例2
- @echo off
- echo Hey,Hello123World!^
-
-
- pause
复制代码 结果:- Hey,Hello123World!
-
- 请按任意键继续. . .
复制代码 第2个例子只是在第2行末尾加了个^,为什么结果会多一个空行?因为加了^后,第3行的\n\r接上了第2行的末尾,跟第2行成为1行了,此时的第3行的位置已经是原来第4行的\n\r了。这个时候执行完第2行,因为末尾有原来的第三行的\n\r,所以到此就结束了。接下来就轮到执行第3行的内容了,并且是另起一行(这个应该不用解释了,因为上一行有\n存在),但是因为第3行只有\n\r(原来第4行的\n\r)了,没有任何命令,所以造成的结果就是执行第4行的pause的时候又另起一行了,很明显是因为第3行的\n的缘故,所有整个结果跟第1个例子相比就是中间多出了\n\r(原来第4行的\n\r),即空行。
还有就是连续的多个\n\r只有一个起作用,再结合前面两个例子看:- @echo off
- echo Hey,Hello123World!^
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- pause
复制代码
|