wshell.run的返回值

时间:2014-09-08 23:11:24

标签: vbscript

我有一个VB脚本,它通过BAT文件触发工具中的作业,并获得状态错误/成功。 代码是:

intReturn = WShell.Run(strBATFile,0,True)

If intReturn = 1 Then 
    intReturn = 0  
    strJobStat = "Complete"
End If

If intReturn = 3 or intReturn=2 Then 
   intReturn = 1  
   strJobStat = "Error"
End If

如果作业触发并且已完成/失败,则上述代码工作正常。但如果这项工作也没有触发(启动),那么它就会显示成功。

如果作业没有开始,请建议在上面的代码中可以更改/添加的内容。 要处理的错误代码是什么。

提前致谢...

1 个答案:

答案 0 :(得分:3)

不确定这是否是您要找的。但是它包含一个捕获所有Else语句,它将捕获WShell.Run的返回值不是1,2或3的任何实例。

如果bWaitOnReturn设置为TRUE - 它就是你的情况 - Run方法返回应用程序返回的任何错误代码。因此,无论strBATFile返回什么,都会被WShell.Run返回到intReturn。

intReturn = WShell.Run(strBATFile,0,True)

If intReturn = 1 Then 
    intReturn = 0  
    strJobStat = "Complete"
Else If intReturn = 3 or intReturn=2 Then 
   intReturn = 1  
   strJobStat = "Error"
Else
   strJobStat = "Unexpected Error"
End If