The VBScript Network and Systems Administrator's Cafe:

exit

Oct 17 2008   11:11PM GMT

Communicating error levels to a calling application from with in VBScript



Posted by: Jerry Lees
VBScript, Error control, exit, on error, errorlevel, WScript.quit, wscript, batch commands

We’ve discussed error handling previously (via the On Error Goto 0 command) in a entry titled, Using error control in a VBScript to recover from odd errors. However, occasionally you need to communicate a condition back to an application or batch file that calls a script as part of its processing. One reason you may need to do this is if you need to call a separate script or application depending on the outcome of the script. You can do this with what is called an error level. Keep in mind this may not have anything to do with an error in the script but can, instead, be used as a method to control how another applicatioin responds to a particular condition.

For example, say you already have a executable that processes a file into a database– but you don’t want to run the executable on a old file because it would cause all sorts of duplicated entries in the database. you might not be able to go back to the person who wrote the executable and have them change it or the executable might not have even been written by the company where you work! You could, however write a script to check the date of a file and if it was created during a time frame return a error level back to a batch file that calls your script and preforms the logic to decide if the executable needed to be ran. Take this batch file for example:

Echo off
cscript Yourscript.vbs
If %errorlevel% == 3 goto runexe
Echo “File to old”
goto EndBatch
:runexe
processingprogram.exe
:EndBatch

This would only run the executable IF your script returned a error level of 3! So you can then preform work and checks never intended by the executable when it was written only if the conditions are correct for it to run.

The line of code in VBScript you would add to your  script to communicate back to the batch file would be:

WScript.quit(3)

This will return a error level of 3 back to the batch file and cause the batch file to THEN run your executable.

So, there you have it! A quick and simple method to extend the life of those aging processes that work fine– just need a minor tweak because your environment has changed.

Jun 18 2008   1:14PM GMT

VBScript Statements: Explanation of the Exit statement



Posted by: Jerry Lees
VBScript, VBScript Statements, vbscriptstatements, exit

The Exit statement in vbscript allows you to exit a block of code, in the case of a subroutine (Exit Sub) or a function (Exit Function), or the entire script.

This statement is assumed at the end of a script, and therefore is not required, but is typically used in conditional statements to exit a section of code when a particular condition is met.

 Below is an example:

 mysub(1)
 mysub(3)
 mysub(2)
 mysub(0)

sub mysub(testvar)
    testvar=testvar + 1
    if testvar =2 then
        exit sub
    else
        wscript.echo testvar
    endif
end sub