找回密码
 加入
搜索
查看: 5312|回复: 12

[AU3基础] 请教一个关于去除重复文件统计的问题

  [复制链接]
发表于 2013-5-13 12:33:41 | 显示全部楼层 |阅读模式
最新在写一个程序想随时统计产线当前每一测试站有多少台主机在使用中,因为程序在测试完每个产品后会生成一个Log,
我的想法是测试完后把这些Log全部上传到服务器指定文件夹中,然后再服务器开个程式一直查询,当发现有新的
格式Log变说明有新主机在使用,如果这段时间某格式Log没有上传变判断这台主机暂时未使用
每2小时统计一次,将结果导出到文本中,然后服务器自动将结果Mail发出来

Log格式如下:

U101_CB5A1KDQ12Y_2013_04_25_15_11_12.txt
U102_CB5A1KDQ22Y_2013_04_25_14_10_50.txt
U402_CB5A1KDQ12Y_2013_04_29_16_10_11.txt

红色部分前2位表示测试站别,后2位表示主机序号,只需根据前4位判断就可以了
目前其他部分都已OK,就是根据文件判断主机数量目前还没有好的办法,因为随着时间增加,文件会越来也多,
请大家帮忙看下有什么好的思路指导我一下,不甚感谢 !!
发表于 2013-5-13 17:02:31 | 显示全部楼层
后两位表示主机序号,是不是只要后两位不相同就表示主机不同,那么有多少个后两位不同的文件,就有多少个主机。我这么理解对不对?
发表于 2013-5-13 18:47:51 | 显示全部楼层
#include <array.au3>
#include <file.au3>
Dim $list = _FileListToArray(@ScriptDir, "*.txt")
If IsArray($list) Then
        For $i = 1 To $list[0]
                $list[$i] = StringMid($list[$i], 3, 2)
                $temp = $list[$i]
                If Not IsDeclared($temp) Then
                        Assign($temp, $i)
                        $list[$i] = $temp
                Else
                        $list[$i] = ""
                        $list[0] -= 1
                EndIf
        Next
EndIf
MsgBox(0, "主机数", $list[0] & "个主机")
_ArrayDisplay($list)
发表于 2013-5-13 19:52:12 | 显示全部楼层
一个测试站 <------> 一份文件
如果上传了多份文件,则只保留最新的,如果上传的时间已超过2个小时也不保留(也可以移动到备份文件夹去).
这样,有几份文件就有几台测试站在工作.
 楼主| 发表于 2013-5-14 11:47:05 | 显示全部楼层
后两位表示主机序号,是不是只要后两位不相同就表示主机不同,那么有多少个后两位不同的文件,就有多少个主 ...
haijie1223 发表于 2013-5-13 17:02



    是这么理解,谢谢您的解答
 楼主| 发表于 2013-5-14 11:50:02 | 显示全部楼层
一个测试站  一份文件
如果上传了多份文件,则只保留最新的,如果上传的时间已超过2个小时也不保留(也可以移 ...
user3000 发表于 2013-5-13 19:52



    谢谢您的思路,目前我采用的就是这种方法,但是这个功能只是一部分,所以我
想把所有的功能整合到一起才要这样的
发表于 2013-5-14 12:07:42 | 显示全部楼层
后两位表示主机序号,是不是只要后两位不相同就表示主机不同,那么有多少个后两位不同的文件,就有多少个主 ...
haijie1223 发表于 2013-5-13 17:02



    你居然看懂了……
发表于 2013-5-14 12:11:48 | 显示全部楼层
回复 7# afan


    楼主说了很多无关紧要的话,但是最有用的只有一句,其实可以用一句话表达出来,但是楼主非要考考大家的汉语言水平,还好我小学语言能及格~
发表于 2013-5-14 12:18:49 | 显示全部楼层
回复  afan


    楼主说了很多无关紧要的话,但是最有用的只有一句,其实可以用一句话表达出来,但是楼 ...
haijie1223 发表于 2013-5-14 12:11



    如果能简单扼要最好,有时候越描述越黑~
就LZ举例的Log命名格式中,我根本没有看到以所谓的规则定义的重复文件,连示例都没有重复,又如何达到标题描述的“去除重复文件”的命题呢?
另外“红色部分前2位表示测试站别,后2位表示主机序号,只需根据前4位判断就可以了”明明需要判断4位,一位之差则可判断为不同的主机,为何你的判断后两位的理解又得到了LZ的认同呢?
发表于 2013-5-14 12:35:53 | 显示全部楼层
回复 1# jwwlchen
这样麻烦还不如采用C/S模式来的简单。用UDP发送消息就行了,客户端把电脑名,IP,产线号等待信息发送给服务端,服务端统计信息然后发送email
发表于 2013-5-14 12:42:35 | 显示全部楼层
回复 9# afan


    楼主在迷惑大家,看看大家的分辨能力
其实楼主的意思就是:txt文件名的第3、4位上的两位数字是主机代码,代码不同,就表示主机不同,所以根据这个来判断主机数。
发表于 2013-5-14 12:48:38 | 显示全部楼层
回复  afan


    楼主在迷惑大家,看看大家的分辨能力
其实楼主的意思就是:txt文件名 ...
haijie1223 发表于 2013-5-14 12:42



    还有"表示测试站别"的前2位呢?站别都不同,主机序号相同难道属于相同的主机?如此的话可直接说明判断前3-4位即可。
发表于 2013-5-14 12:58:30 | 显示全部楼层
回复 12# afan


    可能楼主在每个站别都进行统计吧~谁知道呢,楼主也不说清楚
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-25 14:14 , Processed in 0.082166 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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