这是讨论Windows中可执行文件返回的ERRORLEVEL的一般主题。我正在编写一个脚本来安装Apache HTTP服务器作为Windows服务。
httpd -k install
httpd可执行文件返回
根据可执行文件返回的ERRORLEVEL一般可以处理错误吗?我们是否需要依赖其他方法来处理我们在批处理脚本中运行的命令的返回码
答案 0 :(得分:1)
每个程序员都可以自由地处理exitcodes(由%errorlevel%
返回)给他自己的阵风。有一个普遍的一致意见,0
表示"成功",而任何非零值意味着"某种错误"。但你不能依赖它。
一个很好的例子是ping
。如果您在自己的网络中ping不存在的IP,则返回
Answer from <localhost>: destination unreachable
。
您可能会认为,这是不成功的,因此期望一个非零错误级别,但是程序员认为很明显,那么 是一个答案,所以它是成功的&# 34;
有些内部命令无法触及错误级别,有些内部命令始终返回零,有些内部命令将始终返回1
(robocopy
,谢谢aschipfl)。
可执行文件do
设置了errorlevel(感谢Aacini),但 依赖于程序员。有些总是零,大多数实际上都是可用的错误级别。
很抱歉要告诉你:你不能依赖%errorlevel%
的一般规则。你必须检查每一个命令/可执行文件(通过文档(如果你很幸运)或尝试)