有阴也有阳 发表于 2017-12-27 10:10:07

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

本帖最后由 有阴也有阳 于 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

江南一根葱 发表于 2017-12-27 12:13:52

timeout 5 /nobreak
页: [1]
查看完整版本: cmd批处理延时启动的几个方法