批处理在开始运行时计时,到结束时提示“已运行了 秒”
发布网友
发布时间:2022-05-26 08:10
我来回答
共2个回答
热心网友
时间:2023-10-09 07:36
@echo off
@title 开始计时...
@setlocal enabledelayedexpansion
@for /f "delims=." %%a in ('@echo %time%') do (
for /f "tokens=1,2,3 delims=:" %%b in ('@echo %%a') do (
@set /a h=%%b
@set /a m=%%c
@set /a s=%%d
@title 已经打开了-0-秒
))
@rem 这行以上是判断开始时间,记录开始时间
@rem 这行可以是你加的内容
@rem 这行以下无限循环判断当前时间和开始时间差,然后在.bat标题显示
@rem 因为程序不会自己停止,所以你要加个跳转,goto exit,什么时候想让他结束,就goto exit,结束前设定暂停。
@:start
@for /f "delims=." %%1 in ('@echo %time%') do (
for /f "tokens=1,2,3 delims=:" %%2 in ('@echo %%1') do (
@set /a x=%%2
@set /a y=%%3
@set /a z=%%4
))
@set /a a=!x!-!h!
@set /a b=!y!-!m!
@set /a c=!z!-!s!
@set /a d=!a!*3600+!b!*60+!c!
@title 已经打开了!d!秒
@echo 已经打开了!d!秒
@cls
@goto start
@pause>nul
@:exit
热心网友
时间:2023-10-09 07:36
@echo off
REM 获取开始时间
set start=%time%
REM 这里插入代码
REM 获取结束时间
set end=%time%
set hour=%start:~0,2%
set hour=1%hour%
set /a hour%%=100
set /a startsec=hour*3600
set min=%start:~3,2%
set min=1%min%
set /a min%%=100
set /a min*=60
set /a startsec+=min
set sec=%start:~6,2%
set sec=1%sec%
set /a sec%%=100
set /a startsec+=sec
set hour=%end:~0,2%
set hour=1%hour%
set /a hour%%=100
set /a endsec=hour*3600
set min=%end:~3,2%
set min=1%min%
set /a min%%=100
set /a min*=60
set /a endsec+=min
set sec=%end:~6,2%
set sec=1%sec%
set /a sec%%=100
set /a endsec+=sec
set /a secs=endsec-startsec
echo 已运行子%secs%秒