in reply to batch query - win32

In your command script you will need to test the value of errorlevel. This is the error value of the last command that ran. If you execute a perl script that exists then errorlevel will be set to 0 (indicating success) unless you used the exit function (or similar) to set the exit status from perl. If the script cannot be found, then Perl itself will set the errorlevel to an error value.

The following code examples may be of use.

retcode.pl

#! /usr/bin/perl -w # retcode.pl # Sets the errorlevel passed as first argument use strict; my $retcode = $ARGV[0] || 0; print "Return code = $retcode\n"; exit $retcode;

returncode.cmd

@echo off rem A Command file that uses conditional processing. echo Executing First Script retcode.pl 0 if errorlevel 1 goto end_label echo Executing Second Script retcode.pl 0 :end_label echo Done!

Play around with the return codes sent to the script and the name of the first scrip to see that the script will jump to the label if the script returns an error value greater than 1 or the script itself is not found.

inman