46 lines
1.1 KiB
Batchfile
46 lines
1.1 KiB
Batchfile
@echo off
|
|
if defined _echo echo on
|
|
if defined verbose echo on
|
|
setlocal ENABLEEXTENSIONS
|
|
|
|
REM *********************************************************************
|
|
REM Script: ExecuteCmd.cmd
|
|
REM Purpose: Primative script to be used in the cmd environment to
|
|
REM execute commands with logging and error checking.
|
|
REM Requires: The following vars must be set in the environment:
|
|
REM %logfile%, %tmpfile%, %errfile%
|
|
REM *********************************************************************
|
|
|
|
REM Do not use setlocal/endlocal:
|
|
REM for ex., if the command itself is "pushd",
|
|
REM a "popd" will be executed automatically at the end.
|
|
|
|
set cmd=%1
|
|
REM Remove the quotes
|
|
set cmd=%cmd:~1,-1%
|
|
if "%cmd%" == "" (
|
|
call errmsg.cmd "internal error: no parameters for ExecuteCmd %1."
|
|
set cmd=cmd_bak& goto errend
|
|
)
|
|
|
|
REM Run the command.
|
|
call logmsg.cmd "Running %cmd%."
|
|
%cmd%
|
|
if not "%errorlevel%" == "0" (
|
|
call errmsg.cmd "%cmd% failed (%errorlevel%)."
|
|
goto errend
|
|
)
|
|
goto end
|
|
|
|
:errend
|
|
endlocal
|
|
set /a errors=errors+1
|
|
seterror.exe 1
|
|
goto :EOF
|
|
|
|
:end
|
|
endlocal
|
|
seterror.exe 0
|
|
goto :EOF
|
|
|