找回密码
 加入
搜索
查看: 4161|回复: 6

[效率算法] 局域网机器 在线 数量统计 【已解决】

  [复制链接]
发表于 2010-6-4 17:33:41 | 显示全部楼层 |阅读模式
本帖最后由 haodd 于 2010-11-12 23:26 编辑

ini文件如下内容
PCA001 =        192.168.1.1
PCA002 =        192.168.1.2
PCA003 =        192.168.1.3
PCA004 =        192.168.1.4
PCA005 =        192.168.1.5
PCA006 =        192.168.1.6
PCA007 =        192.168.1.7
PCA008 =        192.168.1.8
PCA009 =        192.168.1.9
PCA010 =        192.168.1.10
PCB001 =        192.168.2.1
PCB002 =        192.168.2.2
PCB003 =        192.168.2.3
PCB004 =        192.168.2.4
PCB005 =        192.168.2.5
PCB006 =        192.168.2.6
PCB007 =        192.168.2.7
PCB008 =        192.168.2.8
PCB009 =        192.168.2.9
PCB010 =        192.168.2.10
求,获取在线主机数
如:PCA001、PCA005、PCA008、PCB003、PCB006在线
则显示 PCA=3       PCB=2


三楼是本人的做法,感觉效率不高,望有更好 更快的方案  谢谢!
发表于 2010-6-4 17:44:08 | 显示全部楼层
个人提示:iniread、ping、StringLeft 、msgbox
 楼主| 发表于 2010-6-4 20:22:49 | 显示全部楼层
Opt("TrayAutoPause",1)  ;禁止托盘暂停脚本
Opt("TrayMenuMode",1)  ;隐藏托盘菜单

#include <Array.au3> ;声明需要使用数组

$var0 = IniReadSection("pc.ini", "PC")        ;读取文件到数组
Local $zx[3][2]                ;声明一个数组
$zx[2][0] = "上机总人数"        
For $i = 1 To $var0[0][0]
                $var1 = IniRead("pc.ini", "PC", $var0[$i][0], "NotFound")        ;读取值
                $ping=Ping($var0[$i][1],10)                
                If Not @error Then
                        $quyu=StringLeft($var0[$i][0],4)                ;截取计算机名前缀
                        Select
                                Case $quyu=="PCA"
                                        $zx[0][0]=$quyu
                                        $zx[0][1]+=1
                                        $zx[3][1]+=1
                                Case $quyu=="PCB"
                                        $zx[1][0]=$quyu
                                        $zx[1][1]+=1
                                        $zx[2][1]+=1
                        EndSelect
                EndIf
                                                
Next

_ArrayDisplay($zx)        ;输出数组
ini还需要加上字段
内容类似
[PC]
PCA=IP
PCB=IP
我的做法有点笨拙  请各位不吝放出 更好的  谢谢!

评分

参与人数 1金钱 +15 收起 理由
afan + 15

查看全部评分

发表于 2011-11-5 17:04:11 | 显示全部楼层
i不错,,,,,,
发表于 2016-9-29 13:32:19 | 显示全部楼层
這是好工具~
发表于 2016-9-29 13:35:38 | 显示全部楼层
這有幫助~!!
发表于 2018-10-19 18:00:26 | 显示全部楼层
学习学习学习学习学习学习
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-16 14:24 , Processed in 0.178768 second(s), 27 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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