首页 电脑 电脑学堂 查看内容

批处理 延时不完全总结

2009-9-17 14:25 1286 0

摘要:   有时候我们的批处理需要一段时间的延迟,下面的方法是脚本的,比较方便,也有多种方法是利用小软件的。大家根据情况使用。   1、利用ping命令实现延时,方法巧妙而且可以控制,但精度不高。   如...

  有时候我们的批处理需要一段时间的延迟,下面的方法是脚本的,比较方便,也有多种方法是利用小软件的。大家根据情况使用。   1、利用ping命令实现延时,方法巧妙而且可以控制,但精度不高。   如:ping -n 3 127.0.0.1>nul大约可以停顿2秒   -n后的数字是发送包的数目,为暂停秒数加一。此法每秒有0.5%的偏差,时间精度为1秒。   2、用vbs脚本中的sleep实现   --------------------------------------   @echo off   echo Wscript.Sleep Wscript.Arguments(0) * 1000>Delay.vbs   Delay.vbs 2   del Delay.vbs   echo OK!   ---------------------------------------   以上程序代码可以实现暂停2秒,2秒过后回显OK!   3、利用“死”循环:设定一个时间差,如果当前时间与设定时间之差不大于设定之时间差,则不退出该循环,从而达到延时的目的。样本代码:   ---------------------------------------------------   @echo off   set /a Start=%time:~6,2%   :ProDelay   set /a Now=%time:~6,2%   set /a Diff=%Now%-%Start%   rem 以下这一句可以防止秒数从59跳到1时产生的错误。   if %Diff% lss 0 set /a Diff=%Diff%+60   if %Diff% leq 2 goto :ProDelay   echo ok!   ---------------------------------------------   以上程序也可以实现延时2秒的目的。   4、利用at命令。不过此方法与其说是延时,还不如说成定时的好。   5、   @echo off & setlocal enableextensions   echo WScript.Sleep 1000 > %temp%.\tmp$$$.vbs   set /a i = 5   :Timeout   if %i% == 0 goto Next   setlocal   set /a i = %i% - 1   cls   echo DOS倒计时程序:alike收集   echo ##################################   echo # #   echo # [%i%]秒后程序开始运行 #   echo # #   echo ##################################   cscript //nologo %temp%.\tmp$$$.vbs   goto Timeout   goto End   :Next   cls & echo.   for %%f in (%temp%.\tmp$$$.vbs*) do del %%f   start edit boot.ini   exit
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部