小贴士:方法四 亲测有效,因为当时对于精确度要求不是很高,所以没有具体测试它的精确度。其他方法没有测过,用到的时候再测吧!
批处理延时启动的几个方法
方法一:ping
缺点:时间精度为1秒,不够精确
@echo off@ping 127.0.0.1 -n 6 >nulstart gdh.txt
方法二:vbs start /wait
缺点:生成临时文件
有点:时间精度为0.001秒,精度高
@echo offecho wscript.sleep 5000>sleep.vbsstart /wait sleep.vbsstart gdh.txtdel /f /s /q sleep.vbs
方法三:vbs cscript
@echo offecho wscript.sleep 5000>sleep.vbs@cscript sleep.vbs >nulstart gdh.txtdel /f /s /q sleep.vbs
方法四:choice
优点:时间精确,CPU占用低,是最佳选择
@echo offchoice /t 5 /d y /n >nulstart gdh.txt
方法五:for+set+if,时间精度为0.01秒
缺点:CPU占用高,语句过长,不常用
@echo offsetlocal enableextensionsecho %time%call :ProcDelay 500echo %time%start gdh.txt:ProcDelay delayMSec_setlocal enableextensionsfor /f "tokens=1-4 delims=:. " %%h in ("%time%") do set start_=%%h%%i%%j%%k:_procwaitloopfor /f "tokens=1-4 delims=:. " %%h in ("%time%") do set now_=%%h%%i%%j%%kset /a diff_=%now_%-%start_%if %diff_% LSS %1 goto _procwaitloopendlocal & goto :EOF
转载自 (估计也是转载的,就是不知道从哪里转载的)