加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

计时器在Windows批处理文件中

发布时间:2020-12-13 20:26:07 所属栏目:Windows 来源:网络整理
导读:有人可以指点一种向Windows批处理文件添加计时器的方式吗?我需要跟踪我的批次从开始运行的时间. 重新计算经过时间的代码: 计算代码少, 提供填充时间少于.1秒, 使用标签允许多次调用,并对计时器代码进行分组. 可重用代码: :StartTimer:: Store start times
有人可以指点一种向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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读