ziyaxian 发表于 2009-4-29 14:05:37

用PING函数判断,如何列出所有不通的机器

本帖最后由 ziyaxian 于 2009-4-30 09:51 编辑

有n台机器,想用PING函数,列出所有不通的机器
$a=ping("192.168.0.1",400)
$b=ping("192.168.0.2",400)
.
.
.
$n=ping("192.168.0.n",400)
if $a and $B and ....$n then
msgbox(0,"标题","OK")
如果有不通的,怎么弹出消息框,并列出不通的机器呢?机器名为(a,b,....n)

ddx13 发表于 2009-4-29 15:40:40

dim $s
For $i = 1 to 254
        Ping ("192.168.0."&$i,400 )
        if @error then
                $s &="192.168.0."&$i&"|"
        endif
Next
MsgBox(0,"", $s)

ddx13 发表于 2009-4-29 15:41:30

修改一下就可以在到你要的目地了。

zhyiyiyi 发表于 2009-4-30 00:04:48

@error 貌似在auto里那是相当的重要

yeqing880 发表于 2009-4-30 00:19:33

是地是地,不过有时也爱出错

我现在就是有这个问题

ziyaxian 发表于 2009-4-30 08:15:36

还有个问题,能不能在消息框里显示不通的机器名呢,如192.168.0.1是张三,192.168.0.12是李四等

ddx13 发表于 2009-4-30 09:00:55

你不会是异想天开吧,连PING都拼不通了,怎么得道计算机名??除非你事先在配置文件里指写好了,读取差不多。

ziyaxian 发表于 2009-4-30 09:48:53

我自己弄出来的,根据二楼改的
dim $s,$a
Dim $b=["张三","李四",.....]
Dim $c
$c=0
For $i = 1 to 10
      $a = Ping ("192.168.0."&$i )
      if $a = 0 then
        $s &=$b[$c]&"|"
      endif
          $c=$c+1
        Next
If $s="" Then
MsgBox(0, "测试",@YEAR & "年" & @MON & "月" & @MDAY &"日" &@HOUR &"时"& @MIN &"分线路测试全通")
Else
MsgBox(0, "测试",@YEAR & "年" & @MON & "月" & @MDAY &"日" &@HOUR &"时"& @MIN &"分测试不通的地方有:"& @CRLF &$s)
EndIf
我试了试差不多,不知道有没有不妥的地方

sz9013 发表于 2011-11-5 16:49:07

学习学习....支持

au3x 发表于 2011-12-4 01:16:57

学习 一下.............

panbin1512 发表于 2013-5-1 02:22:46

学习 一下.............

panbin1512 发表于 2013-5-1 02:22:54

学习 一下.............

xzh531 发表于 2017-1-7 11:04:08

学习一下。。。。。

jamal 发表于 2017-1-14 00:26:09

学些一下{:face (356):}
页: [1]
查看完整版本: 用PING函数判断,如何列出所有不通的机器