|  | 
 
| 本帖最后由 有阴也有阳 于 2017-12-27 10:12 编辑 
 从CSDN搬运而来,原帖地址:http://blog.csdn.net/cyuyan112233/article/details/19477851
 
 批处理延时启动的几个方法:
 
 方法一:ping
 
 缺点:时间精度为1秒,不够精确。
 
 Copy code
 
 @echo off
 
 @ping 127.0.0.1 -n 6 >nul
 
 start gdh.txt
 
 方法二:vbs start /wait
 
 缺点:生成临时文件。
 
 优点:时间精度为0.001秒,精度高。
 
 Copy code
 
 @echo off
 
 echo wscript.sleep 5000>sleep.vbs
 
 start /wait sleep.vbs
 
 start gdh.txt
 
 del /f /s /q sleep.vbs
 
 方法三:vbs cscript
 
 Copy code
 
 @echo off
 
 echo wscript.sleep 5000>sleep.vbs
 
 @cscript sleep.vbs >nul
 
 start gdh.txt
 
 del /f /s /q sleep.vbs
 
 方法四:choice
 
 优点:时间精确,CPU占用低,是最佳选择。
 
 Copy code
 
 @echo off
 
 choice /t 5 /d y /n >nul
 
 start gdh.txt
 
 方法五:for+set+if,时间精度为0.01秒
 
 缺点:CPU占用高,语句过长,不常用。
 
 Copy code
 
 @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
 | 
 |