计时器在Windows批处理文件中

前端之家收集整理的这篇文章主要介绍了计时器在Windows批处理文件中前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有人可以指点一种向Windows批处理文件添加计时器的方式吗?我需要跟踪我的批次从开始运行的时间.
重新计算经过时间的代码

>计算代码少,
>提供填充时间少于.1秒,
>使用标签允许多次调用,并对计时器代码进行分组.

可重用代码

:StartTimer
:: Store start time
set StartTIME=%TIME%
for /f "usebackq tokens=1-4 delims=:.," %%f in (`echo %StartTIME: =0%`) do set /a Start100S=1%%f*360000+1%%g*6000+1%%h*100+1%%i-36610100
goto :EOF

:StopTimer
:: Get the end time
set StopTIME=%TIME%
for /f "usebackq tokens=1-4 delims=:.," %%f in (`echo %StopTIME: =0%`) do set /a Stop100S=1%%f*360000+1%%g*6000+1%%h*100+1%%i-36610100
:: Test midnight rollover. If so,add 1 day=8640000 1/100ths secs
if %Stop100S% LSS %Start100S% set /a Stop100S+=8640000
set /a TookTime=%Stop100S%-%Start100S%
set TookTimePadded=0%TookTime%
goto :EOF

:DisplayTimerResult
:: Show timer start/stop/delta
echo Started: %StartTime%
echo Stopped: %StopTime%
echo Elapsed: %TookTime:~0,-2%.%TookTimePadded:~-2% seconds
goto :EOF

通话代码

call :StartTimer
:: 
:: Add your script functionality here
::
call :StopTimer
call :DisplayTimerResult
pause

call :StartTimer
:: 
:: Add more script functionality here
::
call :StopTimer
call :DisplayTimerResult
goto :EOF

注意“1”-prefix,以避免零填充值的解释错误为八进制值(08和09),并用适当的常数进行校正.由于这可能令人困惑的了解核心计算,一行for语句的替代方法将如下所示:

for /f "usebackq tokens=1-4 delims=:.," %%f in (`echo.%StartTIME%`) do set TempTIME=%%f %%g %%h %%i
for /f "usebackq tokens=1-4" %%f in (`echo %TempTIME: 0= %`) do set /a Start100S=%%f*360000+%%g*6000+%%h*100+%%i

猜你在找的Windows相关文章