位置: 编程技术 - 正文
推荐整理分享批处理 延时不完全总结(批处理延迟变量),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:批处理延迟,批处理 时间格式,批处理 时间格式,windows 命令行批处理 延时,windows 命令行批处理 延时,windows 命令行批处理 延时,批处理命令延时执行,批处理命令延时执行,内容如对您有帮助,希望把文章链接给更多的朋友!
1、利用ping命令实现延时,方法巧妙而且可以控制,但精度不高。 如:ping -n 3 .0.0.1>nul大约可以停顿2秒 -n后的数字是发送包的数目,为暂停秒数加一。此法每秒有0.5%的偏差,时间精度为1秒。 2、用vbs脚本中的sleep实现,样本代码如下: -------------------------------------- --------------------------------------- 以上程序代码可以实现暂停2秒,2秒过后回显OK! 3、利用“死”循环:设定一个时间差,如果当前时间与设定时间之差不大于设定之时间差,则不退出该循环,从而达到延时的目的。样本代码: --------------------------------------------------- --------------------------------------------- 以上程序也可以实现延时2秒的目的。 4、利用at命令。不过此方法与其说是延时,还不如说成定时的好。 5、
下面是其它网友的补充:
【方案一】for+set+if,时间精度为0.秒,适用平台为WinNT/2K/XP/。
利用for解析变量%time%并存为两个时间点%start%和%now%,再利用set /a计算两个时间点的时间差,最后用if判断时间差是否达到设定的暂停时间。
【方案二】VBS脚本中的sleep函数,时间精度为0.秒,使用平台为 Win9x/WinNT系列。
动态创建一个调用sleep()函数的VBS脚本,然后用Windows脚本宿主的命令行版本cscript调用它。
【方案三】ping的消息发送间隔,时间精度为1秒,使用平台为 Win9x/WinNT系列。
需要你的Windows系统中正常安装了网卡的TCP/IP协议,有两种方案,方案二不建议采用,见主题 [讨论]批处理编程的异类 、楼:
(1) 利用ping两次发送消息之间的间隔时间。ping在发送多个消息时,在得到上一次消息的回应后,它会再等待1秒的时间才发送下一次消息,而这个回应时间因机型、系统和网络配置而不同,其中IP地址尤其关键,只有本地的回送地址 .0.0.1 因为是立即回应所以才是相对恒定的,其他地址大多会产生显著的差异。此种方法要等待更大的时间,是指定发送的消息数为等待的时间加一,因为第一个消息是不等待的,IP 地址必须是 .0.0.1 。其等待2秒的程序如下:
(2) 利用ping的最大等待时间。ping向0.0.0.1发送一次“网际消息控制协议 (ICMP)”回响请求消息,因为 0.0.0.1 是个无法响应 ping 请求的IP地址,所以默认情况下,ping会等待一定的最大响应时间——4秒后便停止等待,而-w可以改变这个每发送一次消息所等待的最大响应时间。而如果将 IP 地址改为立即响应的.0.0.1或其他响应时间很短的IP ,那 -w 便失去了作用,因为每次发送等待时间都不会达到最大的响应时间,此时延时会缩短。此种方法要等待更大的时间,可以直接使用 -w 指定,但是需要减去一定的发送延时,这个延时需要自己事先测定一下,否则会有不到1秒的误差;而且 IP 地址必须是不响应请求的地址。其等待2秒的程序如下:
【方案四】choice 的缺省选择等待功能,时间精度为1秒,适用平台为MS-DOS/Win9x/WinNT系列。
/t:y,2 将缺省选择字符设置为y,等待时间是2秒,/n禁止[y,n]提示出现在命令行上,“rem|”的作用是禁止choice从键盘接受按键,从而暂停不会因为按下y或者其它键而被意外终止。
【方案五】ASCII汇编代码,延迟精度为 0.秒,适用平台为MS-DOS/Win9x/WinNT。
德国人Herbert Kleebauer给出了一个通用方案,通过ASCII汇编器间接产生一个sleep.exe程序来实现延迟,这个程序分为DOS和Win两个模块,分别调用DOS系统中断服务和WindowsAPI。
批处理读取注册表中run下面的值的代码 @echoofffor/f"tokens=2delims=:"%%iin('regqueryHKLMSoftwareMicrosoftWindowsCurrentVersionRun')doecho%systemDrive%%%ipausenul
按扩展名分类的批处理 for%%iin(*)do(md%%~ximove*%%~xi%%~xi)pause效果图如下:
查看物理内存的批处理 @echooffcolorf2echo.systeminfo|find"物理内存总量"pausenul
标签: 批处理延迟变量
本文链接地址:https://www.jiuchutong.com/biancheng/379907.html 转载请保留说明!下一篇:批处理读取注册表中run下面的值的代码(批处理命令读取文件内容)
友情链接: 武汉网站建设