landays 发表于 2009-4-19 18:49:41

问个循环ping的问题

以下代码是ping不通的话就执行_Emai()
如果不加exit在后面的话,就一直循环重复执行_Emai()
但是我又不想退出脚本。。怎么判断_Emai()已经执行过了,然后在往后的循环中自动跳过这一步呢?
另外怎么同时ping多个IP,然后判断指定的多个IP "同时连不上" 才执行命令?
请大家帮帮忙。。我在论坛搜索和看过帮助了。 。找不到相关例子。。又或者是我不懂。
请大家给我点思路吧。。

While 1
ping ($ip,250)
if @error Then
sleep (100)
_Emai()
Else
EndIf
sleep (100)
_ReduceMemory(@AutoItPID)
sleep (3000)
WEnd

netegg 发表于 2009-4-21 18:28:50

语法错了
ping ($ip,250)
While 1
if @error Then
sleep (100)
_Emai()
EndIf
sleep (100)
_ReduceMemory(@AutoItPID)
sleep (3000)
WEnd

netegg 发表于 2009-4-21 18:32:32

还有那个@errer是不是需要给个@errer<<> 0才行呀,没具体看过函数

ddx13 发表于 2009-4-21 21:13:24

我以做过类似的,但是例子找不到了,不过可以给你一点思路,IP放至配置文件,多个IP随意。$ss=IniReadSection读取,
For $i = 1 to 1 $ss
    if ping ($ss[$i][])<>0 then
          ExitLoop
    endif
Next

[ 本帖最后由 ddx13 于 2009-4-21 21:14 编辑 ]
页: [1]
查看完整版本: 问个循环ping的问题