动态数组发布VBScript

时间:2016-08-16 17:02:53

标签: arrays logging dynamic vbscript dynamic-programming

我正在逐行阅读txt文件,并搜索关键字。当我找到一个关键字时,我将它放在一个数组中供以后使用。但是我一直遇到动态数组的问题。即使txt文件不包含关键字,我的数组也会显示几个空格,并用空字符串填充它。我是否错误地填充了我的动态数组?这是我的代码的移植:

Dim fso, inputFile, outputFile, notFound(), PortTransferError()
Const outPut = "out.txt"

Set fso = CreateObject("Scripting.FileSystemObject")
Set input = fso.OpenTextFile("file.txt")
Set outputFile = fso.CreateTextFile(outPut)

i = 0
Do Until input.AtEndOfStream
    line = input.Readline
    Redim Preserve notFound(i)
    Redim Preserve PortTransferError(i)
    If InStr(line, "Couldn't Find:") Then
        notFoundError(i) = line
        i = i + 1
    ElseIf InStr(line, "Cannot Transfer to Port: ") Then
        PortTransferErrorr(i) = line  
        i = i + 1
    End If
Loop


input.Close

For each item in notFound
    outputFile.Write(item) 'empty string vals in array
Next 


For each item in PortTransferErrorr
    outputFile.Write(item)
Next 

1 个答案:

答案 0 :(得分:3)

ReDim (并复制)每个输入行的数组,并且增长两个数组满足每个条件;所以将ReDim线移动到适当的Then部分。