[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] 命令连接符连接的3个或3个以上的命令是怎样执行的?

这个命令意思是 如果上一段命令正确,将不在继续执行下一段命令。。但是我想请问的是如果代码由3个或者3个以上的命令组成,在第一段命令后加入||,代码是否会执行第三段命令,说的不是很清楚,用代码表示
  1. type a.txt || echo 没有这个文件 &paue &exit
复制代码
我自己运行了代码,发当有显示a.txt这个文件成功的时候,仍然会执行&pause&exit 命令,请懂的便宜指教一下

没仔细看版规实在抱歉。。。

4# applba


感谢您的帮助。。

TOP

这帖子标题确实是笼统了,我一般是有贴就点的,也没注意看标题了,sorry,下次注意。

TOP

没有即时发现这个标题违规的帖子,是我的失职,但是楼上两位为什么明知论坛严打违规标题仍然回复呢?
对标题严格把关是从长远的角度来考虑,今天放过一个违规标题,天长日久之后搜索将如海里捞针。
处理时遵循版规,对事不对人,希望大家理解和支持。

建议楼主将此贴即时改名,否则按版规中的条例,三日之后将被移至回收站...

TOP

paue 应为 pause

TOP

本帖最后由 applba 于 2011-6-8 12:11 编辑

根据微软的说法,& && 和||都是命令分隔符,而且&&和||还有逻辑判断作用。

比如 type a.txt || echo 没有这个文件 &&paue &exit

首先上面的语句被切割为 type a.txt 、 echo 没有这个文件、paue 、exit 四个部分。
“ type a.txt ”执行后遇到||,会检查errorleve ,如果不为0就执行后面的“echo 没有这个文件”。
不管有没有执行 “echo 没有这个文件”,遇到后面的&&, 还会检查errorlevel,如果为0就继续后面的命令。
&不判断errorlevel,仅相当于连接符。

总之这些符号分割一条组合命令,每个符号都是按顺序处理的,以决定是否执行后面被分割的命令。


如果你要改变这个从左往右的逐个处理,可以使用括号。

TOP

懂了。谢谢楼上的朋友指教。

TOP

本帖最后由 hucuibai 于 2011-6-8 10:15 编辑

type a.txt || echo 没有这个文件 &paue &exit
等于
type a.txt || echo 没有这个文件
paue
exit
这样你应该看的明白吧

type a.txt ||( echo 没有这个文件 &paue &exit)
这样就不会执行后面的语句

TOP

返回列表