Board logo

标题: [日期时间] 记录批处理运行时间 [打印本页]

作者: newswan    时间: 2021-10-9 11:18     标题: 记录批处理运行时间

记录运行时间

调用方式
  1. call :C_timer
  2. call :C_timer sum
复制代码
log文件 time.txt
  1. b1.bat  0  11:04:04.59
  2. b1.bat  1  11:04:42.21  37.62
  3. b1.bat  2  11:05:10.62  28.41
  4. b1.bat  3  11:05:25.92  15.30
  5. b1.bat                  81.33
复制代码
  1. :C_timer [sum]
  2. if not defined _ti_ set _ti_=-1
  3. set/a _ti_+=1
  4. set _tb_=%_te_%
  5. set _te_=%time%
  6. if %_ti_% EQU 0 (
  7.     set _tb_=%_te_%
  8. )
  9. 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%)
  10. set/a _tdiff_=%_tdiff_:-=8640000-%
  11. set/a _tdiffSum_+=%_tdiff_%
  12. if "%_ti_%" == "0" (
  13.     (echo,) >>time.txt
  14.     (echo %~nx0  %_ti_%  %_te_%) >>time.txt
  15. ) else (
  16.     (echo %~nx0  %_ti_%  %_te_%  %_tdiff_:~0,-2%.%_tdiff_:~-2%) >>time.txt
  17. )
  18. if %1.==sum. (
  19.     (echo %~nx0                  %_tdiffSum_:~0,-2%.%_tdiffSum_:~-2%) >>time.txt
  20. )
  21. goto :eof
复制代码

作者: newswan    时间: 2021-10-9 11:21

有点小瑕疵,如果时长小于1秒,输出会有些问题
0.01 秒 是 .1
0.1 秒 是 .10
作者: newswan    时间: 2023-1-16 20:42

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





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2