DOS命令BAT/CMD文件中打印耗时方法

网上其它地方流传的方法有BUG,例如分钟可能会为负数。

特改善一版,时长最大支持24小时。

参考代码:

rem 耗时计算,初始化
set testtime=%time%

set  tmpIntText=%testtime:~0,2%
if "%tmpIntText:~0,1%" == "0" ( set  tmpIntText=%tmpIntText:~1,1%) 
set /a batStartH=%tmpIntText%

set  tmpIntText=%testtime:~6,2%
if "%tmpIntText:~0,1%" == "0" ( set  tmpIntText=%tmpIntText:~1,1%) 
set /a batStartS=%tmpIntText%

set  tmpIntText=%testtime:~3,2%
if "%tmpIntText:~0,1%" == "0" ( set  tmpIntText=%tmpIntText:~1,1%)
set /a batStartM=%tmpIntText%
rem 耗时计算,初始化完成

在这里可以添加很多你想要做的事情。。。
例如消耗掉三秒:ping 192.168.1.1

rem 耗时计算,结束开始统计并打印,开始
set testtime=%time%
set  tmpIntText=%testtime:~0,2%
if "%tmpIntText:~0,1%" == "0" ( set  tmpIntText=%tmpIntText:~1,1%)
set /a batEndH=%tmpIntText%
set  tmpIntText=%testtime:~6,2%
if "%tmpIntText:~0,1%" == "0" ( set  tmpIntText=%tmpIntText:~1,1%)
set /a batEndS=%tmpIntText%

set  tmpIntText=%testtime:~3,2%
if "%tmpIntText:~0,1%" == "0" ( set  tmpIntText=%tmpIntText:~1,1%)
set /a batEndM=%tmpIntText%

set /a batdiffH_=%batEndH%-%batStartH%
set /a batdiffS_=%batEndS%-%batStartS%
set /a batdiffM_=%batEndM%-%batStartM%

if "%batdiffH_:~0,1%" == "-" ( set /a batdiffH_=24-%batStartH%+%batEndH%)
if "%batdiffM_:~0,1%" == "-" ( set /a batdiffM_=60-%batStartM%+%batEndM%
set /a batdiffH_=%batdiffH_%-1)
if "%batdiffS_:~0,1%" == "-" ( set /a batdiffS_=60-%batStartS%+%batEndS% 
	if batdiffM_==0 ( set /a batdiffH_=%batdiffH_%-1) 
	if batdiffM_ neq 0 (set /a batdiffM_=%batdiffM_%-1)
)
echo 批量制作完成,耗时: %batdiffH_%小时 %batdiffM_%分钟%batdiffS_%秒

rem 耗时计算,结束开始统计并打印,结束

 

本文结束。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值