中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-04 17:23
48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » [讨论]2次ping1 不等于 1次ping2
可打印版本  2,271 / 2
第1楼 523066680 发表于 2008-12-27 17:30
银牌会员 发帖 1,133 积分 2,362
[讨论]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,>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 ,再大就接近秒了...)
第2楼 pooronce 发表于 2008-12-27 18:01
中级用户 发帖 250 积分 484
不知道有没有人计算过ping的杂项耗时。。。
ping -n 1 -w 2850 99>nul
第3楼 BC 发表于 2008-12-28 13:59
中级用户 发帖 175 积分 338
个人觉得和 植树原理 有关
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023