标题: 批处理中多个 && 和 || 组合语句的执行过程是怎样的? [打印本页]
作者: 悬崖之树 时间: 2012-7-30 21:14 标题: 批处理中多个 && 和 || 组合语句的执行过程是怎样的?
如:- dir c: && dir d: || dir e:\ ||dir f: && dir g:
复制代码
批处理是如何执行上面的语句的?
作者: cjiabing 时间: 2012-8-1 17:44
回复 1# 悬崖之树
dir c: && dir d: || dir e:\ ||dir f: && dir g:
搜索C盘,如果成功(&&)则继续搜索D盘,如果失败(||)则搜索E盘,如果搜索E盘失败(||)则搜索F盘,如果搜索F盘成功(&&)则搜索G盘
所以,&& 意味着如果(IF)前面的命令执行失败就执行后面的命令,而 || 刚好反过来,如果(IF)前面的命令执行失败则执行后面的命令。
作者: 悬崖之树 时间: 2012-8-1 22:54
我是这样理解的:
搜索 c盘 ,成功就搜索 d盘,如果c盘不存在,则取消d盘的搜索,也就是说 dir d:没有执行也就是执行失败,这样就执行 dir e:了,如果成功就不执行dir f:了,由于 dir f:没有执行,所以 dir g:也就不执行了。
总结 :
“&&” 和 “||” 是根据在它前面且离它最近的命令的成功与否来判断是否要执行在它后面且离它最近的命令的。
作者: cjiabing 时间: 2012-8-1 23:08
回复 4# 悬崖之树
这个“最近”不是很好理解:
- C:\>dir w:&&dir d:||dir e:
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |