我试图在控制台应用程序中使用Environment.Exit函数返回成功/错误代码。 (0表示成功,1表示错误)。现在我想在vbscript中捕获这个返回码并显示返回码(例如WScript.Echo(returnCode))。
有人知道是否可以这样做吗?
由于
答案 0 :(得分:4)
Launching other programs from a script
exitcode = WshShell.Run(strCommand, , true])
如果bWaitOnReturn设置为True,则Run方法会创建一个新进程, 执行该命令,并等待该进程终止。在这 case,Run方法返回从中获取的错误代码 终止过程。如果缺少bWaitOnReturn或设置为False, 运行返回错误代码0。
答案 1 :(得分:2)
Set WshShell = WScript.CreateObject("WScript.Shell")
errcode = WshShell.Run("your program.exe",,true)
答案 2 :(得分:1)
假设您运行的脚本名为“加拿大 .vbs”,我们假设该脚本将返回代码“墨西哥 .vbs”。
CANADA.VBS代码(这就是你要运行的代码。):
Dim ExitCode
Dim Return
Dim WshShell
Set WshShell=CreateObject ("WScript.Shell")
Dim Command
Command="Mexico.vbs"
Command=Chr(34) & Command & Chr (34)
ExitCode=WshShell.Run (Command, 1, True)
If ExitCode="1" Then
Return="Success"
ElseIf ExitCode="2" Then
Return="Failure"
Else
Return="Unknown"
End If
MsgBox Return
MEXICO.VBS代码(这是加拿大将运行的代码。):
Dim Success
Success=MsgBox ("Do you want to Succeed?",vbQuestion + vbYesNo,"Your Goals are good?")
success=success-7 'Vbyes=6 vbno=7. True=-1 False=0.
'The Above Code is only for demonstration purposes. You may set success in your own statement
If Success Then 'Successful
Success=1
ElseIf not Success Then 'Failure
Success=2
Else 'Unknown
Success=0
End If
WScript.Quit (Success)
现在在加拿大,您需要声明一个包含墨西哥退出代码的变量。我们来命名吧
Dim ExitCode
我们还需要一个字符串变量(尽管你可以将ExitCode变量加倍,但这样做会使大文件的调试变得困难。所以让我们保持它们分开。)
Dim Return
我们将需要一个运行Mexico.vbs的对象。我们需要的对象是Wscript Shell
Dim WshShell
Set Wshshell=CreateObject ("WScript.Shell")
现在我们需要指定要运行的脚本。脚本路径为“Mexico.vbs”
Dim Command
Command="Mexico.vbs"
现在JUST IN CASE文件路径中有任何空格(没有,但让我们安全)我们需要将路径括在引号中。 (字符代码:34)
Command=Chr(34) & Command & Chr (34)
现在我们需要从Canada.vbs运行Mexico.vbs并将返回值保存到变量
ExitCode=WshShell.Run (Command, 1, True) 'command is path, 1 is window state, true is wait for return.
现在我们将ExitCode格式化为UserFriendly字符串。
If ExitCode="1" Then
Return="Success"
ElseIf ExitCode="2" Then
Return="Failure"
Else
Return="Unknown"
End If
现在我们将在msgbox中显示结果。
MsgBox Return
在Mexico.vbs中,您将通过退出代码发送成功或失败。 我们将exitcode变量命名为Success
Dim Success
本部分用于演示目的。您可以排除此部分并将其替换为审核报表。如果成功则将Success设置为true,否则设置为False。
Success=MsgBox ("Do you want to Succeed?",vbQuestion + vbYesNo,"Your Goals are good?")
success=success-7 'Vbyes=6 vbno=7. True=-1 False=0.
'The Above Code is only for demonstration purposes. You may set success in your own statement
现在我们将bool Success转换为Integer,1 =成功,2 =失败,0 =未知
If Success Then 'Successful
Success=1
ElseIf not Success Then 'Failure
Success=2
Else 'Unknown
Success=0
End If
现在我们将使用Success中设置的退出代码终止Mexico.vbs脚本。
WScript.Quit (Success)