批处理等待/延迟/暂停时间

上传人:ldj****22 文档编号:33958931 上传时间:2018-02-19 格式:DOC 页数:8 大小:50.50KB
返回 下载 相关 举报
批处理等待/延迟/暂停时间_第1页
第1页 / 共8页
批处理等待/延迟/暂停时间_第2页
第2页 / 共8页
批处理等待/延迟/暂停时间_第3页
第3页 / 共8页
批处理等待/延迟/暂停时间_第4页
第4页 / 共8页
批处理等待/延迟/暂停时间_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《批处理等待/延迟/暂停时间》由会员分享,可在线阅读,更多相关《批处理等待/延迟/暂停时间(8页珍藏版)》请在金锄头文库上搜索。

1、批处理等待延迟暂停1、暂停(Pause) 、延迟(Delay) 、等待(Wait ) 、睡眠( Sleep)1)for+set+if,时间精度为 0.01 秒,适用平台为 WinNT/2K/XP/2003。利用 for 解析变量%time%并存为两个时间点%start%和%now% ,再利用 set /a 计算两个时间点的时间差,最后用 if 判断时间差是否达到设定的暂停时间。 echo offsetlocal enableextensionsecho %time%call :ProcDelay 200echo %time%goto :EOF:ProcDelay delayMSec_setlo

2、cal enableextensionsfor /f tokens=1-4 delims=:. %h in (%time%) do set start_=%h%i%j%k:_procwaitloopfor /f tokens=1-4 delims=:. %h in (%time%) do set now_=%h%i%j%kset /a diff_=%now_%-%start_%if %diff_% LSS %1 goto _procwaitloopendlocal & goto :EOF2)VBS 脚本中的 sleep 函数,时间精度为 0.001 秒,使用平台为 Win9x/WinNT 系列

3、。 动态创建一个调用 sleep()函数的 VBS 脚本,然后用 Windows 脚本宿主的命令行版本 cscript 调用它。 echo off & setlocal enableextensions enabledelayedexpansionecho WScript.Sleep 2000 %temp%tmp$.vbsecho %time%cscript /nologo %temp%tmp$.vbsecho %time%for %f in (%temp%tmp$.vbs) do if exist %f del %fendlocal & goto :EOF3)ping 的消息发送间隔,时间精

4、度为 1 秒,使用平台为 Win9x/WinNT 系列。 需要你的 Windows 系统中正常安装了网卡的 TCP/IP 协议,有两种方案:(1) 利用 ping 两次发送消息之间的间隔时间。ping 在发送多个消息时,在得到上一次消息的回应后,它会再等待 1 秒的时间才发送下一次消息,而这个回应时间因机型、系统和网络配置而不同,其中 IP 地址尤其关键,只有本地的回送地址 127.0.0.1 因为是立即回应所以才是相对恒定的,其他地址大多会产生显著的差异。此种方法要等待更大的时间,是指定发送的消息数为等待的时间加一,因为第一个消息是不等待的,IP 地址必须是 127.0.0.1 。其等待 2

5、 秒的程序如下: :根据植树原则,n 后的数字为暂停秒数加一ping -n 3 127.0.0.1nul(2) 利用 ping 的最大等待时间。ping 向 0.0.0.1 发送一次“网际消息控制协议 (ICMP)”回响请求消息,因为 0.0.0.1 是个无法响应 ping 请求的 IP 地址,所以默认情况下,ping 会等待一定的最大响应时间4 秒后便停止等待,而-w 可以改变这个每发送一次消息所等待的最大响应时间。而如果将 IP 地址改为立即响应的 127.0.0.1 或其他响应时间很短的 IP ,那 -w 便失去了作用,因为每次发送等待时间都不会达到最大的响应时间,此时延时会缩短。此种方

6、法要等待更大的时间,可以直接使用 -w 指定,但是需要减去 500 毫秒(原因尚未知) ,而且 IP 地址必须是不响应请求的地址。其等待 2 秒的程序如下: ping -n 2 -w 500 0.0.0.1nul4)choice 的缺省选择等待功能,时间精度为 1 秒,适用平台为 MS-DOS/Win9x/WinNT 系列。/t:y,2 将缺省选择字符设置为 y,等待时间是 2 秒,/n 禁止y,n 提示出现在命令行上,“rem|”的作用是禁止 choice 从键盘接受按键,从而暂停不会因为按下 y 或者其它键而被意外终止。 rem|choice /t:y,2 /n nul5)ASCII 汇编

7、代码,延迟精度为 0.001 秒,适用平台为 MS-DOS/Win9x/WinNT。 德国人 Herbert Kleebauer 给出了一个通用方案,通过 ASCII 汇编器间接产生一个sleep.exe 程序来实现延迟,这个程序分为 DOS 和 Win 两个模块,分别调用 DOS 系统中断服务和 WindowsAPI。 : Sleep.bat - Sleep/Delay/Wait n seconds: Herbert Kleebauer(Germany) - 2005/05/29: Modified by Will Sort - 2005/06/02, 07-25echo offecho q

8、 | debugnulecho Bjjzh0X-/PPPPPPa(DE(DM(DO(Dh(Ls(Lu(LX(LeZRREEEUYRX2Dx=echo 0DxFP,0Xx.t0P,=XtGsB4o$?PIyU WwX0GwUY Wv;ovBX2Gv0ExGIecho TzGwkBGOEKcUtMqqBsy?seHB_Phxr?zABLrPEyoDtCj?echo pky_jNQEKpEtij?jySjNREKpEtjj?jyGjNSEKkjtlGuNw?echo LFvAURQ?OYLTQ?QCoOLRDU?aU?QOq?IKuNWpeFpeQFwH?Vecho _GSqoCvHOjeOSeIQ

9、RmAKnEFB?p?mcjNneB?M?QhetLBgBPHexhe=echo EsOgwTLbLK?sFU?LDODKxO?SUudA?_FKJN?KD?UA?OHCQOQ?Recho _OQOL?CLA?CEU?_FU?UAQ?UBD?LOC?ORO?UOL?UOD?OOI?UgL?LORYUO?echo dsmSQswDORBQAQ?LUA?_L_oUNUScLOOuLOODUO?UOEOwH?UOQ?DJTSDMecho QTqrKkcmSULkPcLOOuLOOFUO?hwDTqOsTdbnTQrrDsdFTlnBTmlThKcTecho dmTkRQSoddTT?K?OCOQp?

10、o?Gds?wOw?PGAtaCHQvNntQv_w?A?itEHecho zpQpKGk?Jbs?FqokOHT?jPvPIQBDFAN?OHROL?Kj?pdaN?OHROd?Gecho Q?PGTB?OC?ipO?T?U?pcUsleep.exeecho wait %1 seconds:sleep.exe %1000del del sleep.exe批处理延时方法小结:1.pingecho off:loop echo %time%ping 127.1 -n 2 1nulecho %time%goto loop内存使用: cmd.exe 1704k ping.exe 2920k 误差评定:

11、 较高优点: 代码构造简单缺点: 内存占用高,延迟时间长的话误差相对较大。2.还是 ping echo off:loopecho %time%ping 1 -n 1 -w 1000 2nul 1nulecho %time%goto loop内存使用: cmd.exe 1700k ping.exe 2912k误差评定: 一般优点: 代码构造简单,时间越长误差越小,精确度较高(50ms)缺点: 内存占用高3.call echo off:loopecho %time%call :delay 1000echo %time%goto loop:delayset /a num=num + 1if %num

12、% geq %1 (set num=) & goto :eofrem for /l %i in (1,1,%1) do echo. nulgoto :eof内存使用: cmd.exe 1744k for 语句方案 cmd.exe 1740k set+goto 方案误差评定: 很高 (受 CPU 频率影响非常大,几乎无法准确把握全局延迟时间)优点: 精确度较高缺点: 不适合需精确把握时间的场合4.msg echo off:loop echo %time%msg %username% /time:20 /w 正在延时,点确定可以取消延时!echo %time%goto loop内存使用: cmd.

13、exe 1752k msg.exe 2620k误差评定: 低优点: 比较稳定,可中途取消延时,代码构造简单缺点: 内存占用非常大,有窗口弹出 (优点?缺点?)5.vbs echo offecho Wscript.Sleep WScript.Arguments(0) %tmp%delay.vbs:loopecho %time%cscript /b /nologo %tmp%delay.vbs 2000echo %time%goto loop内存使用: cscript.exe 4812k cmd.exe 1708k误差评定: 很低优点: 精确度最高,使用更灵活,方便缺点: 产生临时文件,内存占用多

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号