Я новичок в vbscript, и у меня проблемы с чем-то, что должно быть относительно легко. У меня есть два очень больших текстовых файла, которые я должен разбить на множество разных текстовых файлов на основе определенных строк в файлах. Вот пример текстового файла:vbscript для разделения очень больших текстовых файлов
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
Ф1 линия обеспечит имя нового текстового файла в то время как F12 строка будет последняя строка в этом новом текстовом файле. Следующий F1 будет следующим файлом и так далее. Вот мой код. Не может ли метод ReadLine перейти к следующей строке?
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
Это создает файл и записывает первую F1 линию, а затем я получаю разрешение отказано ошибки во время выполнения на «(, True newFilePath) Установите NewFile = fso.CreateTextFile» линии. Я уверен, что мне не хватает гораздо более простого способа сделать это.
Спасибо!