收集来自2000多个文本文件的大量数据

从交换机SNMP输出中统计端口时遇到问题。 我有超过2000个文本文件,看起来像这样:

"301SW00134" Model:"WS-C2950G-24-EI" 1 1 1 1 2 1 1 1 2 1 1 2 2 2 2 1 1 1 2 2 1 2 1 1 1 1 1 1 Sum: "301SW00140" Model:"WS-C2950G-24-EI" 1 2 ... 

每个txt文件中大约有200个开关。 其中一些有24个端口约48个。每个文件代表不同的小​​时。

例如:

1Jun03_00_01这意味着该文件已于6月1日下午3点导出

我想对每个交换机的每个文件中的所有数据进行计数,然后在每个交换机的每个文件中绘制一个UP端口图表。

1表示端口向上,2向下。

我用excel试了一下,但是不好用。

你们知道一些工具可以完成这项工作吗? 我虽然有关出口这些文件在一些数据库,然后计数。 你怎么看 ?

这将使您开始处理单个文件。

  1. 打开FileStream以减less开销
  2. 逐行读取代码
  3. 如果行包含Model,则将新的SwitchCounter添加到数组中

    • SwitchCounter:存储名称,型号和端口数
 Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFile = objFSO.OpenTextFile ("C:\Users\best buy\Downloads\stackoverflow\test.txt", 1) Dim arCounters, intSize i = 0 Do Until objFile.AtEndOfStream s = objFile.ReadLine If InStr(s,"Model:") Then Set counter = New SwitchCounter counter.Init s If i = 0 Then ReDim arCounters(0) Else ReDim Preserve arCounters(i) End If Set arCounters(i) = counter i = i + 1 Else If IsNumeric(s) Then counter.Add s End If Loop For Each counter In arCounters WScript.Echo counter.name Next Class SwitchCounter Public model Public name Public Count '"301SW00134" Model:"WS-C2950G-24-EI" Public Sub Init(s) s = Replace(s,"Model:", "") s = Replace ( s,Chr(34), "") model = Split(s, " ")(1) name = Split(s, " ")(0) End Sub Public Sub Add(n) Count = Count + CInt(n) End Sub End Class