无忧启动论坛

标题: 学到if errorlevel 就晕了.. [打印本页]

作者: hero123    时间: 2006-9-3 18:48
标题: 学到if errorlevel 就晕了..
初学DOS....被if errorlevel搞得快晕了....
:(询问用户是否执行)
@echo off
@echo 测试与电信DNS连接速度!
choice /c yn
if errorlevel 2 goto n
if errorlevel 1 goto y
:y
ping 202.101.103.55 -t
:n
exit

这样可以...
为什么这样就不行.

@echo off
@echo 测试与电信DNS连接速度!
choice /c yn
if errorlevel 1 goto y
if errorlevel 2 goto n
:y
ping 202.101.103.55 -t
:n
exit
作者: namejm    时间: 2006-9-3 18:57
  if errorlevel N dosomething 的含义是如果返回值大于或等于N就做什么操作,而不是等于的意思。
作者: hero123    时间: 2006-9-3 19:21
还是迷迷糊糊的...能不能针对上面的例子做一下祥细的说明...谢谢.......
作者: hero123    时间: 2006-9-3 19:27
是不是if errorlevel 2 goto n 就是大于或等于2就转到n.而下一条if errorlevel 1 goto y因为没有大于2所以就转到y
而第二例if errorlevel 1 goto y.因为返回值大于等于1转到y. 而第二个条件为if errorlevel 2 goto n返回值是2已经大于1了.所以也执行y
作者: namejm    时间: 2006-9-4 18:34
原帖由 hero123 于 2006-9-3 07:27 PM 发表
是不是if errorlevel 2 goto n 就是大于或等于2就转到n.而下一条if errorlevel 1 goto y因为没有大于2所以就转到y——因为上一句已经跳转到n了,所以y根本没机会执行

而第二例if errorlevel 1 goto y.因为返回值大于等于1转到y. 而第二个条件为if errorlevel 2 go [/color]——道理同上
...

作者: UID    时间: 2006-9-7 15:14
是啊,IF ERRORLEVEL是从255开始的,后面的值如果<=返回值就表示成功,就会执行的
作者: tmt2008    时间: 2006-9-7 18:29
主要是没有这方面的资料
作者: tmt2008    时间: 2006-9-8 14:51
昏倒!
作者: dos时代菜鸟    时间: 2014-7-18 08:21
if errorlevel 语句就是这样啊,要判断 errorlevel 值 应从大到小的判断,并要用 goto 跳转,也就是通过第一个满足条件的最大值来确定你要干什么。




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3