@ECHO OFF IF "%~1"=="/?" GOTO Syntax IF "%~1"=="" ( GOTO :Skip ) ELSE ( SETLOCAL ENABLEDELAYEDEXPANSION FOR /F "tokens=*" %%A IN ('VER ^| TIME') DO ( IF "!TimeBefore!"=="" ( SET TimeBefore=%%A SET TimeBefore=!TimeBefore:,=.! FOR %%B IN (!TimeBefore!) DO ( SET TimeBefore=%%B ) ) ) ) %* :Skip SET RC=%ErrorLevel% IF NOT "%~1"=="" ( FOR /F "tokens=*" %%A IN ('VER ^| TIME') DO ( IF "!TimeAfter!"=="" ( SET TimeAfter=%%A SET TimeAfter=!TimeAfter:,=.! FOR %%B IN (!TimeAfter!) DO ( SET TimeAfter=%%B ) ) ) ) ECHO. ECHO [RC=%RC%] IF "%~1"=="" ( SET RC=& EXIT /B %RC% ) ELSE ( FOR /F "tokens=1-4 delims=:.," %%A IN ("%TimeBefore%") DO ( SET HoursBefore=%%A SET MinutesBefore=%%B SET SecondsBefore=%%C SET FractBefore=%%D ) FOR /F "tokens=1-4 delims=:.," %%A IN ("%TimeAfter%") DO ( SET HoursAfter=%%A SET MinutesAfter=%%B SET SecondsAfter=%%C SET FractAfter=%%D ) SET /A Hours = !HoursAfter! - !HoursBefore! SET /A Minutes = !MinutesAfter! - !MinutesBefore! SET /A Seconds = !SecondsAfter! - !SecondsBefore! SET /A Fract = !FractAfter! - !FractBefore! SET /A TimeDif = 100 * !Hours! + !Minutes! SET /A TimeDif = 100 * !TimeDif! + !Seconds! SET /A TimeDif = 1000 * !TimeDif! + 10 * !Fract! ECHO [Time=!TimeDif! ms] ENDLOCAL & EXIT /B %RC% ) :Syntax ECHO. ECHO RC.bat, Version 2.00 for Windows NT ECHO Display a command's return code ("errorlevel") and execution time ECHO. ECHO Usage: RC command parameters ECHO or: RC CALL batchfile parameters ECHO or: command parameters ^& RC ECHO. ECHO Written by Rob van der Woude ECHO http://www.robvanderwoude.com