返回列表 发帖

[日期时间] 记录批处理运行时间

记录运行时间

调用方式
call :C_timer
call :C_timer sumCOPY
log文件 time.txt
b1.bat  0  11:04:04.59
b1.bat  1  11:04:42.21  37.62
b1.bat  2  11:05:10.62  28.41
b1.bat  3  11:05:25.92  15.30
b1.bat                  81.33COPY
:C_timer [sum]
if not defined _ti_ set _ti_=-1
set/a _ti_+=1
set _tb_=%_te_%
set _te_=%time%
if %_ti_% EQU 0 (
    set _tb_=%_te_%
)
set/a _tdiff_=(9%_te_:~0,2%-9%_tb_:~0,2%)*360000+(9%_te_:~3,2%-9%_tb_:~3,2%)*6000+(9%_te_:~6,2%%_te_:~9,2%-9%_tb_:~6,2%%_tb_:~9,2%)
set/a _tdiff_=%_tdiff_:-=8640000-%
set/a _tdiffSum_+=%_tdiff_%
if "%_ti_%" == "0" (
    (echo,) >>time.txt
    (echo %~nx0  %_ti_%  %_te_%) >>time.txt
) else (
    (echo %~nx0  %_ti_%  %_te_%  %_tdiff_:~0,-2%.%_tdiff_:~-2%) >>time.txt
)
if %1.==sum. (
    (echo %~nx0                  %_tdiffSum_:~0,-2%.%_tdiffSum_:~-2%) >>time.txt
)
goto :eofCOPY

有点小瑕疵,如果时长小于1秒,输出会有些问题
0.01 秒 是 .1
0.1 秒 是 .10

TOP

本帖最后由 newswan 于 2023-1-17 10:29 编辑
set ts=HH:mm:ss
set t1=%date% %time%
pause
set t2=%date% %time%
powershell " $a = ((get-date -date '%t2%') - (get-date -date '%t1%')) ; get-date -date $a.tostring() -format '%ts%' "COPY

TOP

返回列表