找回密码
 加入
搜索
查看: 3579|回复: 7

FileExists 能延迟么?

[复制链接]
发表于 2008-10-5 22:18:22 | 显示全部楼层 |阅读模式
While 1
$server1 = ping ("192.168.0.251",250)
$server2 = ping ("192.168.0.245",250)
if $server1 Then
        If FileExists("\\192.168.0.251\system$\kz4200\arp.vbs") Then
        ShellExecute("\\192.168.0.251\system$\kz4200\arp.vbs")
        ToolTip("连接[主服务器]成功....!",@DesktopWidth-140,@DesktopHeight-51)
        Sleep(1800)
        Exit
        EndIf
ElseIf $server2 Then
        If FileExists("\\192.168.0.245\system$\kz4200\arp.vbs") Then
        ShellExecute("\\192.168.0.245\system$\kz4200\arp.vbs")
        ToolTip("连接[副服务器]成功....!",@DesktopWidth-140,@DesktopHeight-51)
        Sleep(1800)
        Exit
        EndIf
Else
       
EndIf
Sleep(3000)
WEnd

问题
在PING的同192.168.0.251时
FileExists("\\192.168.0.251\system$\kz4200\arp.vbs") 检查指定文件要是 192.168.0.251不通网时FileExists检查文件要很久时间才能判断文件不存在,在运行下面的192.168.0.245判断,有没有好的方法加快判断文件是否存在???

[ 本帖最后由 bbq123bbq 于 2008-10-10 16:47 编辑 ]
发表于 2008-10-5 23:49:17 | 显示全部楼层
那可以先查一查网路是否通畅(因为好像可以设置超时),然后再按得到的结果来处理FileExists的操作!
发表于 2008-10-6 00:08:52 | 显示全部楼层
在PING的同192.168.0.251时
FileExists("\\192.168.0.251\system$\kz4200\arp.vbs") 检查指定文件要是 192.168.0.251不通网时FileExists检查文件要很久时间才能判断文件不存在,在运行下面的192.168.0.245判断,有没有好的方法加快判断文件是否存在???

这句话到底怎么断句
 楼主| 发表于 2008-10-6 00:09:35 | 显示全部楼层
我的意思..判断 \\192.168.0.251\system$\kz4200\arp.vbs 有没有arp.vbs 这个文件,有就运行arp.vbs  要是没有在 判断 \\192.168.0.245\system$\kz4200\arp.vbs 有没有arp.vbs 这个文件,有就运行arp.vbs ,问题就是要是 192.168.0.251不同或文件不存在要很久才去 判断 \\192.168.0.245\system$\kz4200\arp.vbs 有没有arp.vbs
发表于 2008-10-6 00:24:09 | 显示全部楼层
再判断就没serve1的事了吧?还是直接转?
就用你自己的这段,用select或者switch

[ 本帖最后由 netegg 于 2008-10-6 00:29 编辑 ]
发表于 2008-10-6 09:29:11 | 显示全部楼层
弱弱的问一下,要INCLUDE点什么AU3呢??
发表于 2008-10-6 11:05:55 | 显示全部楼层

While 1
        $server1 = Ping("192.168.0.251", 250)
        $server2 = Ping("192.168.0.245", 250)
        If $server1 Then
                TrayTip("", "server1是通的!",1)
                If FileExists("\\192.168.0.251\system$\kz4200\arp.vbs") Then
                        ShellExecute("\\192.168.0.251\system$\kz4200\arp.vbs")
                        TrayTip("","连接[主服务器]成功....!",1)
                        Sleep(1800)
                        Exit
                EndIf
        Else
                If $server2 > 0 Then
                TrayTip("", "server2是通的!",1)
                        If FileExists("\\192.168.0.245\system$\kz4200\arp.vbs") Then
                                ShellExecute("\\192.168.0.245\system$\kz4200\arp.vbs")
                                ToolTip("","连接[副服务器]成功....!",1)
                                Sleep(1800)
                                Exit
                        EndIf
                EndIf
        EndIf
        Sleep(3000)
WEnd

  LZ的脚本没什么大问题,不过其中那个ELSE不应该为空!当ELSE空出来的时候会有些未知的执行失误!
  另外,PING得通和能访问又是两回事,得确保以上两机器确能访问!
发表于 2008-10-7 00:57:40 | 显示全部楼层
ping不通机器就应该JUMP过去,不要再去判断1号机器的共享文件是否存在,如果此机器不存在,那么将等待许久
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-4-28 13:19 , Processed in 0.069596 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表