如何让ping命令一旦不通则停止?

我知道可以使用“ping ip /t”命令使ping一直进行下去,但如何让ping一旦不通(超时)就停止呢?
也可以丢够一定数量的包再停止.
或者如何才能检测网络是否中断,一旦中断则作出处理?

第1个回答  2011-04-07
楼主是不是想检测网络是否中断?
批处理,循环ping命令,每次发一个包,利用errorlevel取得ping的返回值,如果返回值为0,则继续循环,如果返回1则证实对方已关机(保险起见,最好再ping一次)。追问

能否给我代码?

追答

限制字数,代码打不全,发给你百度HI了。

第2个回答  2011-04-07
只能手动按Ctrl+C让它停下来。追问

不能自动吗?

追答

恩,不行的。
不过你可以设置它让它在ping了一定的次数之后自己停下来。

追问

这个我知道,有没有类似的命令行程序代替?

追答

饿,这个我真没找过类似的代替程序。
因为即使再稳定的网络,也不能保证100%的可靠传输的,有时丢一个包也是正常的。

追问

或者如何才能检测网络是否中断,一旦中断则作出处理?

第3个回答  2011-04-07
ping ip 不通3次不久自己停止了嘛?追问

系统是xp,三次不通还是一直ping

追答

我刚试了下 我的也是XP 4次直接停止PING 没法上图看下面
ping 192.168.1.103
中间省略了哈 字数不够了
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
SENT4个包 一个都没回 全丢了

追问

你试试ping 192.168.1.103 /t
让它一直不停。

追答

参数-t 可不就是一直不停吗。。。你直接不用-t不就能停了。。

追问

我要的效果就是除非超时,否则不停。

追答

那发生网络数据包堵塞的情况会出现暂时丢包,丢一个后立刻恢复,你这边的PING就停了,意义何在?没实际意义吧?不是很懂哦。。。

第4个回答  2011-04-07
那种需要改程序的追问

怎么改?

追答

写另外一个程序调用ping,然后返回超时就停止,然后可以发信之类的等等后续操作

追问

循环+判断?会不会太耗费cpu?

追答

对于目前CPU来说,这好像不是个问题吧,连续监控三次,断线就发信通知,ping的话,你自己也可以看,浪费的CPU -- -

追问

写出来了,不过循环起来CPU还是比较高的。

本回答被提问者采纳
相似回答