我有一个VBscript,它将多个CSV文件合并为一个CSV文件。该脚本在第一次运行时完美地组合了这些文件。但是,当重新运行以将数据附加到现有CSV时,进程永远不会结束或无限循环开始。
以下是合并数据的功能。 " FilesToWorkWith"是一个字典,文件名为键,文件对象为值。我希望我已经解释了这个问题。
Set FilesDict = CreateObject("Scripting.Dictionary")
For each iFile in objFiles
If(CheckExtension(iFile) = True) Then
FilesDict.Add iFile.Name, iFile
End if
Next
Function MergeCSV (UIDReportsFolderLocation,strCombinedUIDFileName)
FilesToWorkWith = FilesDict.Keys
Set outFile = objFSO.OpenTextFile(UIDReportsFolderLocation & "\" & strCombinedUIDFileName & ".csv", ForAppending, CreateIfNotExist, OpenAsASCII)
Dim firstFile
firstFile = True
For Each Key in FilesToWorkWith
Set objFile = objFSO.OpenTextFile(FilesDict(Key), ForReading)
If Not firstFile = True Then
objFile.Skipline
End if
Do
strTemp = objFile.ReadLine
If Not strTemp = "" Then
outFile.WriteLine strTemp
End if
Loop Until objFile.AtEndOfStream = True
objFile.Close
firstFile = False
Next
outFile.close
Set iFile = Nothing
set objFile = Nothing
Set FilesDict = Nothing
Set objFSO = Nothing
End Function
请帮忙......
答案 0 :(得分:1)
最明显的原因是您的输出文件正在作为输入文件处理,并且只是循环将其自身附加到自身。你没有展示如何初始化FilesToWorkWith,所以不可能确定,但这是我看的第一个地方。