不务正业一下,闲暇时玩段批处理,本意是想做段动画效果,所以就涉及到延时这块了。网上也看了些资料,都不太合我意,所以自己写了段。不说什么了,直接上代码。
@echo off
::--------------------简介------------------------------------
::批处理延迟这块,网上找了很多资料,都不尽人意所以
::自己就写了一段。正统来说这样的效率肯定是不够好,
::硬伤啊。鉴于能实现延迟,还比较准,先将就将就了。
::------------------------------------------------------------
color a
::--------------设置延迟时间(秒)---------------------------
set time_late=5
::------------------------------------------------------------
goto main
:main
::-----------------获取段时间-------------------------------
set hh=%time:~0,2%&set mm=%time:~3,2%&set ss=%time:~6,2%
::------------------------------------------------------------
::-----------------获取起始时间-----------------------------
set /a time1=%hh%*3600+%mm%*60+%ss%
::------------------------------------------------------------
::-----------------获取结束时间-----------------------------
set /a ss=ss+time_late
set /a time2=%hh%*3600+%mm%*60+%ss%
::-------------------------------------------------------------
goto A
:A
::-----------------获当前时间并换算---------------------------
set hh=%time:~0,2%&set mm=%time:~3,2%&set ss=%time:~6,2%
set /a time3=%hh%*3600+%mm%*60+%ss%
::---------------------------------------------------------------
::--------------当前时间与结束时间比较-----------------------
::相等则转入the_end,不等则转入循环
IF /i "%time2%" equ "%time3%" goto the_end
goto A
::--------------------------------------------------------------
::----这一块就到我们最终目的地方了,执行延迟后想做的事情吧-----
:the_end
echo 起始时间 %time1% 结束时间 %time2% 当前时间 %time3%
echo 时间到!
pause >nul
::----------------------------------------------------------------------