标题: [讨论]2次ping1 不等于 1次ping2
[打印本页]
作者: 523066680
时间: 2008-12-27 17:30
标题: [讨论]2次ping1 不等于 1次ping2
题目: 2次ping1 不等于 1次ping2
文/523066680
::
这里ping1指 ping -n 1 127.1>nul ; ping2 指ping -n 2 127.1>nul
偶然发现 for /l %%a in (1,1,2) do (ping -n 1 127.1>nul) 跟ping -n 2 127.1>nul
等待的时间相差甚远,所以,他们不相等。
我尝试了把for 中的 2 改为 9 依然不到一秒,感觉这个"精确度"还可以,所以后来写
特效一直用,我开始学批处理的时候是很乱来的,后来简化为
for /l %%a in (1,1,2) do (ping -n>nul)
终于,在群里发代码的时候有人问,怎么不直接 ping -n 2 127.1>nul (下面简称为ping2)
我回答ping2 的时间大于 两次 ping1 的时间,而 2 次 ping1 带来的效果刚刚好。
再后来HAT说,直接 "ping -n>nul" 是错误的句子,如果ping -n>nul达到的效果,那么其他
命令应该也一样,遂以attrib为例,一试,时间真的一样,于是晕晕的下线了。
唉,忘了反驳了,要是用echo 就得几百次了。attrib也是刚好有一点的延时.
以下整理个人观点:
后来看到一些批处理例如: 逐字读文章的批处理 还有一些特效等
为了达到适合的速度,有的用 几千次echo, 有的用 生成 sleep.xxx
我认为我所倡导的方法是比较好的,用代码说话吧:
@echo off
color 4e
set str= cn-dos 523066680 祝 大 家 新 年 快 乐 !
for /l %%a in (0,1,50) do (
call,set /p x=%%str:~%%a,1%%<nul
for /l %%b in (1,1,5) do (ping -n 1 127.0>nul)
)
exit
怎么样?这个打字的速度刚刚好吧?
对于这个打字效果,用 几千次 echo,>nul的缺点在于
执行次数多,对于不同的机子,拖延的时间可能会不一样。
ping -n 2 127.1>nul 打字拖延时间太长。
生成 sleep 的我没话说,只是个人不习惯....
for /l %%b in (1,1,N) do (ping -n 1 127.0>nul)
的好处就在于,1-9 次的时间都是不超过1秒的,可以通过选择 1-9 次 这来达到比较详细
的延时效果,相对于echo, 次数更好选择,而且对于不同的机子,一般效果一样。
(范围一般选 1-9 ,再大就接近秒了...)
作者: pooronce
时间: 2008-12-27 18:01
不知道有没有人计算过ping的杂项耗时。。。
ping -n 1 -w 2850 99>nul
作者: BC
时间: 2008-12-28 13:59
个人觉得和 植树原理 有关