1,理论上每段延迟时间最大为24小时。
2,理论上每段延迟时间最小为0.01秒即10ms。
3,延迟时间单位为0.01秒即10ms。
4,理论上总延迟时间最大为248天。
5,在本人机器上(xp sp3系统,amd双核3.0G,内存4G),100次测试,时间误差均小于0.01秒即10ms。
6,标签 :Hanye 部分为延迟部分主代码。
7,要求 %time% 的输出格式示例为13:47:39.09。
8,用法:call:标签,从0开始的顺序数列,以0.01秒即10ms为单位的总延迟时间- @echo off&setlocal enabledelayedexpansion
- echo.设置延迟起点
- call:Hanye,0,0
- echo.延迟3秒.开始时间%time%
- call:Hanye,1,300
- echo.再延迟30秒(总33秒).当前时间%time%
- call:Hanye,2,3300
- echo.再延迟300秒(总333秒).当前时间%time%
- call:Hanye,3,33300
- echo.后面类推.结束时间%time%
- pause&exit
- :Hanye
- for /f "tokens=1-4 delims=:. " %%a in ("%time%") do (
- set Tb=%%b&set Tc=%%c&set Td=%%d&set Ye%1=%%a&set/a Han=%1-1
- for %%e in (!Han!) do if !Ye%1! lss !Ye%%e! set/a Ta+=1
- for %%e in (b c d) do if !T%%e:~0^,1!==0 set T%%e=!T%%e:~1!
- set/a "Gu%1=360000*(%%a+24*Ta)+Tb*6000+Tc*100+Td",Xing=Gu0+%2)
- if !Gu%1! lss %Xing% goto:Hanye
复制代码
[ 本帖最后由 hanyeguxing 于 2010-6-8 23:32 编辑 ] |