Visual Basic – Get an exit code

--> (Word) --> (PDF) --> (Epub)
This article has been published [fromdate]

A return code can take a numeric value from 0 to 255.

[tab:VBS Version]

Script returning an exit code:

[script.vbs]

exitCode = InputBox ( "Enter Exit Code (0 - 255)", "Script", "0")

If Not IsNumeric(exitCode) Then exitCode = 0
wscript.Quit(exitCode Mod 255)

Script to handle the return code:

Set oWS = WScript.CreateObject("WScript.Shell")

returnCode = oWS.Run("wscript.exe script.vbs", 0, True)
MsgBox "Script2's Return Code: " & returnCode

[tab:Batch Version]

From a DOS [gs script] (BAT or CMD), you check the ERRORLEVEL value.

As a convention, an ERRORLEVEL at 0 means a SUCCESS (255 is the maximum value). The DOS IF ERRORLEVEL construction has one strange feature, it returns TRUE if the return code is equal to or higher than the specified errorlevel. So you must check the highest possible value first.

[somescript.vbs]

' even with a return code of 2, the DOS IF ERRORLEVEL 1 will catch it

wscript.Quit(2)
@echo off
wscript somescript.vbs
echo wscript returned %errorlevel%
if errorlevel 1 goto error
echo We have success
goto end
:error
echo We have an error
:end

[tab:END]

SOURCE

LINK (Rgagnon.com)

LANGUAGE
ENGLISH