在批处理中,经常需要用到“延时(等待)”,那么如何让批处理延时呢?
工具/原料
电脑
方法1
1、[方法1]在windowsvista及以上系统中,系统提供了一个“timeout”命令跷孳岔养。优点:方便,一行命令搞定。缺点:不能在旧系统中(例如xp)使用,且延时精度较低(1秒)。
2、-----命令帮助↓-----TIMEOUT[/T]timeout[/NOBREAK]支十嵋壬描述:这个工具接受超时参数,等候一段汜枸赓觅指定的时间(秒)或等按任意键。它还接受一个参数,忽视按键。参数列表:/Ttimeout指定等候的秒数。有效范围从-1到99999秒。/NOBREAK忽略按键并等待指定的时间。/?显示此帮助消息。注意:超时值-1表示无限期地等待按键。
3、示例1:::下面这条命令会等待10秒,并且可以按任意键跳过等待TIMEOUT/T10
4、示例2:::下面这条命令会等待300秒,并且只能按下CTRL+C来跳过TIMEOUT/T300/NOBREAK
5、示例3:::下面这条命令会持续等待,直到你按下任意按键.功能类似于pauseTIMEOUT/T-1
6、示例4:::下面这条命令会持续等待,直到你按下CTRL+C按键TIMEOUT/T-1/NOBREAK
方法2
1、[方法2]使用vbs的sleep方法来实现延时(等待)。优点:能在旧系统中(例如xp)使用,且延时精度较高(1毫秒)缺点:代码行数较多,3行。
2、示例:-----代码↓-----echoCreate蚪嬷吃败Object("Scripting.FileSystemObject").Delete僻棍募暖File(WScript.ScriptFullName)>%Temp%\Wait.vbsechowscript.sleep▲>>%Temp%\Wait.vbsstart/wait%Temp%\Wait.vbs-----代码↑-----注意:其中的“▲”为等待的毫秒数,1秒=1000毫秒,等待10000毫秒,即10秒。当然,也可以使用并行符号“&”,把命令并成一行-----代码↓-----echocreateobject("scripting.filesystemobject").deletefile(wscript.scriptfullname)>%temp%\VBScriptWait.vbs&echowscript.sleep▲>>%temp%\VBScriptWait.vbs&start/wait%temp%\VBScriptWait.vbs-----代码↑-----效果相同