Board logo

标题: [其他] [分享]批处理使用ping命令进行更加精确的延时 [打印本页]

作者: vincentzhou    时间: 2010-12-30 13:30     标题: [分享]批处理使用ping命令进行更加精确的延时

在使用ping /n %num% 127.1>nul(其中的2指ping回环地址的次数)来延时时发现%num%用1很快,用2不是用1时两倍而是慢了很多。在cmd中运行ping /n 2 127.1>nul 发现ping第一次和第二次之间有一个延时,就是因为它的存在所以才让延时变得很慢。也就是说当%num%>1时延时的单位时间变长了。要是延时的单位时间一直和%num%=1时相当就好了,这时我想到了for /l 。用for /l %%a in (1 1 %num%) do ping /n 1 127.1>nul 来延时的话,延时的单位时间就很短了,这样调节的精度就大大提高了。
作者: powerbat    时间: 2010-12-31 02:34

为什么不简单设想一下呢?
time = n*x + c
科学需要严谨!

如果你不想用实验进行总结,透露一下:
你有没有试过更多次数?都把n减1后,计算时间除以次数的结果,看有什么发现?(正比)
作者: vincentzhou    时间: 2010-12-31 03:29     标题: 回复 2楼 的帖子

我也考虑过这个问题,但是time=n*x+c这个函数对于不同的计算机来说是不同的,也就是说由于配置问题,一次ping的时间不同。这样可移植性就太差了。
作者: Batcher    时间: 2010-12-31 09:37

批处理中延时的方法
http://bbs.bathome.net/viewthread.php?tid=3693#pid23312
http://bbs.bathome.net/thread-233-1-1.html
作者: gapkiller    时间: 2010-12-31 14:51

win7 有自带的choice功能, 不光能延时,还能再等待时按键并执行相应的操作.
  1. choice /c yn /d y /t 2 /n
复制代码

作者: caruko    时间: 2010-12-31 18:16

choice延时精确到秒..
更精确一点的只能靠其它办法了..
其实这部分用VBS更好
作者: yhcbird    时间: 2010-12-31 21:28

ping 127.255.255.255 -n 1 -w 3000 这个精确的0.001秒
作者: wc726842270    时间: 2010-12-31 23:46

LZ有兴趣可以用FOR和SET /A或循环来廷时




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2