Board logo

标题: [系统相关] 批处理中的%errorlevel%怎样使用? [打印本页]

作者: hehuizsl    时间: 2011-7-15 11:41     标题: 批处理中的%errorlevel%怎样使用?

我是新手,所以问题也是菜鸟级别的问题:
errorlevel 0  {返回值大于或等于0时执行指定的命令}

这个有意义吗,我想不通什么时候需要用他
这不等于不管执行结果正确和错误都是一个一样吗
用 %errorlevel% == 0 比errorlevel 0就比较准确了,那errorlevel 0为什么会存在,哲学上不是有一句话吗,存在自有其存在的理由,那它存在的理由是什么


请大家解惑
作者: ArdentMan    时间: 2011-7-15 12:19

因为返回值不一定总是只有0和1,

如ping命令就有2 1 0,

此时用if errorlevel 1 来判断返回值为1和2两种情况是不是很方便?
作者: Demon    时间: 2011-7-15 12:21

http://bbs.bathome.net/viewthread.php?tid=13194
作者: CrLf    时间: 2011-7-15 12:35

errorlevel 也可以是负值,虽然没碰到过现成的可以输出负数返回值的命令,但是我们可以通过 exit /b 来 DIY 一个:
  1. cmd /c exit /b -100
  2. echo %errorlevel%
  3. if errorlevel 0 echo 返回值大于等0
  4. if errorlevel -100 echo 返回值大等于-100
  5. pause
复制代码

作者: Hello123World    时间: 2011-7-15 15:08

反正记住
  1. if errorlevel 数字
复制代码
就是大于等于 数字 的意思,
等同于
  1. if %Errorlevel% geq 数字
复制代码

作者: hehuizsl    时间: 2011-7-15 19:08

4# zm900612


多谢解答,终于明白了,errorlevel= 0  原来是有负值得时候更适合用




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2