Vbscript wshell.run的返回值

Vbscript wshell.run的返回值,vbscript,Vbscript,我有一个VB脚本,它通过一个BAT文件从工具触发作业,并获得状态error/success。 代码是: 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 = "Er

我有一个VB脚本,它通过一个BAT文件从工具触发作业,并获得状态error/success。 代码是:

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
如果作业触发并完成/失败,则上述代码工作正常。但是如果这项工作没有触发(启动),它表明了成功

如果作业未启动,请建议在上述代码中可以更改/添加哪些内容。 要处理的错误代码是什么


提前感谢…

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

如果bWaitOnReturn设置为TRUE(在您的案例中就是这样),Run方法将返回应用程序返回的任何错误代码。因此,无论strBATFile返回什么,都将由WShell返回

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

感谢您的快速响应。我正在查找错误代码。它到底要返回什么以及为什么会成功。@user2717144这取决于您的bat文件返回的内容。bWaitOnReturn设置为true,因此无论bat文件返回什么,都将由WShell的Run方法返回