是可靠的可执行文件返回的ERRORLEVEL,用于批处理脚本中的错误处理

时间:2016-08-26 05:43:28

标签: apache batch-file error-handling errorlevel

这是讨论Windows中可执行文件返回的ERRORLEVEL的一般主题。我正在编写一个脚本来安装Apache HTTP服务器作为Windows服务。

httpd -k install 

httpd可执行文件返回

  • 配置文件中出现错误时ERRORLEVEL 1。
  • ERRORLEVEL 2,当已安装服务时。
  • ERRORLEVEL 0表示成功。

根据可执行文件返回的ERRORLEVEL一般可以处理错误吗?我们是否需要依赖其他方法来处理我们在批处理脚本中运行的命令的返回码

1 个答案:

答案 0 :(得分:1)

每个程序员都可以自由地处理exitcodes(由%errorlevel%返回)给他自己的阵风。有一个普遍的一致意见,0表示"成功",而任何非零值意味着"某种错误"。但你不能依赖它。

一个很好的例子是ping。如果您在自己的网络中ping不存在的IP,则返回
Answer from <localhost>: destination unreachable
您可能会认为,这是不成功的,因此期望一个非零错误级别,但是程序员认为很明显,那么 是一个答案,所以它是成功的&# 34;

有些内部命令无法触及错误级别,有些内部命令始终返回零,有些内部命令将始终返回1robocopy,谢谢aschipfl)。
可执行文件do设置了errorlevel(感谢Aacini),但 依赖于程序员。有些总是零,大多数实际上都是可用的错误级别。

很抱歉要告诉你:你不能依赖%errorlevel%的一般规则。你必须检查每一个命令/可执行文件(通过文档(如果你很幸运)或尝试)