[转载] Windows系统批处理延迟方法

小贴士:方法四 亲测有效,因为当时对于精确度要求不是很高,所以没有具体测试它的精确度。其他方法没有测过,用到的时候再测吧!

批处理延时启动的几个方法

 方法一:ping

缺点:时间精度为1秒,不够精确

@echo off

@ping 127.0.0.1 -n 6 >nul

start gdh.txt
方法二:vbs start /wait

缺点:生成临时文件

有点:时间精度为0.001秒,精度高

@echo off

echo wscript.sleep 5000>sleep.vbs

start /wait sleep.vbs

start gdh.txt

del /f /s /q sleep.vbs
方法三:vbs cscript
@echo off

echo wscript.sleep 5000>sleep.vbs

@cscript sleep.vbs >nul

start gdh.txt

del /f /s /q sleep.vbs
方法四:choice

优点:时间精确,CPU占用低,是最佳选择

@echo off

choice /t 5 /d y /n >nul

start gdh.txt
方法五:for+set+if,时间精度为0.01秒

缺点:CPU占用高,语句过长,不常用

@echo off

setlocal enableextensions

echo %time%

call :ProcDelay 500

echo %time%

start gdh.txt

:ProcDelay delayMSec_

setlocal enableextensions

for /f "tokens=1-4 delims=:. " %%h in ("%time%") do set start_=%%h%%i%%j%%k

:_procwaitloop

for /f "tokens=1-4 delims=:. " %%h in ("%time%") do set now_=%%h%%i%%j%%k

set /a diff_=%now_%-%start_%

if %diff_% LSS %1 goto _procwaitloop

endlocal & goto :EOF

转载自 http://blog.163.com/cb_dt/blog/static/481041420090322011317/?latestBlog (估计也是转载的,就是不知道从哪里转载的

原文地址:https://www.cnblogs.com/lhat/p/8745208.html