|
|
楼主 |
发表于 2012-4-1 15:20:54
|
显示全部楼层
在这里非常感谢BATMAN的热心指导和批处理论坛众网友的无私解答和共同探讨。
本人也是VBS初学者。
下面对BATMAN的源码作出一些相关的解释。不恰当之处,多多海涵。
Dim FSO, Arr, vbStr, Str, vbOut, Arr1, Str1, Code /*定义变量或数组*/
Code = Split(Chr(34) & " duration= service= sent= rcvd= src= dst=", " ") /*把要提取的关键字字段信息写入数组中,关键字分别是 " duration service sent rcvd src dst*/
Set FSO = CreateObject("Scripting.FileSystemObject") /*创建系统文件对象*/
vbStr = FSO.OpenTextFile("22.txt").ReadAll() /*把所有源文本信息读取到vbstr字符串中*/
Arr = Split(vbStr, vbCrLf) /* 把所有的文本以换行符为分界符,依次写入到Arr数组中*/
FSO.CreateTextFile("new.txt", 1, 0).Write vbNullString /*创建新的文本文件,以便保存提取的信息*/
For Each Str In Arr /*以下对Arr数组中的每条记录进行关键字信息提取*/
Arr1 = Split(Str, " ") /*对每条记录按空格符为界提取字段*/
For Each Str1 In Arr1 /*以下小循环提取关键字*/
For i = 0 To UBound(Code)
If InStr(Str1, Code(i)) Then vbOut = vbOut & Str1 & " " /*判断每条记录中按空格提取的字段是不是所要的关键字信息,如是加入到字符串变量中*/
Next
Next
FSO.OpenTextFile("new.txt", 8).WriteLine vbOut /*提取的关键字写入到新文件中*/
vbOut = vbNullString /*字符串变量指空*/
Next
MsgBox "ok"
Set FSO = Nothing /*对象指针为空*/ |
|