SHORTIES\ERLVLTST.BAT  ·  BAT  ·  1003 B  ·  1989-09-19  ·  from PCPlus_Issue-41_Feb-1990_FluxEngine-360Kb
echo off

if %1@==@ echo  * ERLVLTST.BAT  M. Greenfield  26/8/1989 *
if %1@==@ echo  Returns DOS ErrorLevel to the environment as %%ERRVAL%% (Range = 0 to 255)
if %1@==@ echo  Options:  /N - to suppress the display
if %1@==@ echo            /D - display result only (without this help page)[B

if not %1@==/n@ if not %1@==/N@ echo  Testing ErrorLevel, please wait ...[A

:----Evaluate Hundreds
set ert=
set errval=
for %%p in (1 2) do if errorlevel %%p00 set ert=%%p

:----Evaluate Tens
if not "%ert%"=="" if errorlevel %ert%00 set errval=%ert%0
for %%p in (1 2 3 4 5) do if errorlevel %ert%%%p0 set errval=%ert%%%p
if not "%ert%"=="2" for %%p in (6 7 8 9) do if errorlevel %ert%%%p0 set errval=%ert%%%p

:----Evaluate Units
set ert=%errval%
for %%p in (0 1 2 3 4 5) do if errorlevel %ert%%%p set errval=%ert%%%p
if not "%ert%"=="25" for %%p in (6 7 8 9) do if errorlevel %ert%%%p set errval=%ert%%%p

set ert=
if not %1@==/n@ if not %1@==/N@ echo  ErrorLevel = %errval% [K