vbscript-split sehr große text Dateien

Ich bin neu in vbscript und ich habe Probleme mit etwas, das sollte relativ einfach sein. Ich habe zwei sehr große text-Dateien, die ich aufteilen in viele verschiedene text-Dateien basierend auf bestimmten Linien in den Dateien. Hier ist ein Beispiel für die Textdatei:

F1 SA1056-540X0
F21 All_Tools
F3 123229 99819 30MIL
F3 317229 99819 30MIL
F5 0 0
F51 0 0
F6 136103 204045
F7 0 0
F8 265094 249728 90000 1 N N 455229
F9 C1A
F8 265094 208328 90000 1 N N 455229
F9 C1B
F12 0.125000 250 0
F1 SA1056-550X1
F21 All_Tools
F3 123229 99819 30MIL
F3 317229 99819 30MIL
F5 0 0
F51 0 0
F6 136103 204045
F7 0 0
F8 265094 249728 90000 1 N N 455229
F9 C1A
F8 265094 208328 90000 1 N N 455229
F9 C1B
F12 0.125000 250 0

Die F1-Zeile geben Sie den Namen der neuen Textdatei ein, während der F12-Zeile wird die Letzte Zeile in diese neue text-Datei. Das nächste F1 wird die nächste Datei und so weiter. Hier ist mein code. Funktioniert die ReadLine-Methode nicht Voraus in die nächste Zeile?

Dim fso, newFile, folderPath

folderPath = "C:\MyDataTest"

Set fso = CreateObject("Scripting.FileSystemObject")

For Each file In fso.GetFolder(folderPath).Files

    Do While Not file.OpenAsTextStream.AtEndOfStream
        strLine = file.OpenAsTextStream.ReadLine
        strChar = file.OpenAsTextStream.Read(3)
        Do While strChar <> "F12"
            If strChar = "F1 " Then
                fileName = Replace(strLine, "F1 ", "")
                newFilePath = folderPath + "\" + fileName + ".txt"
                Set newFile = fso.CreateTextFile(newFilePath, True)
                newFile.WriteLine(strLine)
                strLine = file.OpenAsTextStream.ReadLine
                strChar = file.OpenAsTextStream.Read(3)
            Else
                newFile.WriteLine(strLine)
                strLine = file.OpenAsTextStream.ReadLine
                strChar = file.OpenAsTextStream.Read(3)
            End If
        Loop
        newFile.WriteLine(strLine)
        newFile.Close
    loop

Next    

Dieser erstellt die Datei und schreibt die erste F1-Linie und dann bekomme ich ein Permission denied runtime error auf "neudatei = fso.CreateTextFile(newFilePath, True)" - Zeile. Ich bin mir sicher, dass mir fehlt ein einfacher Weg, dies zu tun.

Danke!

InformationsquelleAutor FullQuiver | 2011-01-05

Schreibe einen Kommentar