В текстовом файле, состоящем из тысяч записей, каждая из которых содержит более 20 строк данных, мне нужно подсчитать 14-ю строку после начала каждой записи, если эта 14-я строка пуста. Строка либо пуста, либо содержит дату.
Начало каждой записи одинаковое: «1 Начало новой записи»
Сценарий:
1 Начало новой запись 2 некоторые данные 3 " 4 " 5 " 6 " 7 " 8 " 9 " 10 " 11 " 12 " 13 " 14 ... 1 Начало новой записи ... 8 " 9 " 10 " ... 14 19.10.2009 ...
В этом простом сценарии результат должен быть 1. У меня есть код, который копирует строку 1 каждой записи во второй файл.
Результат, очевидно, такой:
1 Начало новой записи 1 Начало новой записи ...
Вот код, который у меня есть:
Const ForReading = 1
Dim words(1)
Dim msg
words(0) = "1 Start of New Record"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set inFile = objFSO.OpenTextFile("c:\Temp\altest.txt", ForReading)
Set outFile = objFSO.OpenTextFile("c:\Temp\altest_output.txt", 8, True)
Do Until inFile.AtEndOfStream
strSearchString = inFile.ReadLine
For i = 0 To UBound(words)-1
If InStr(strSearchString,words(i)) Then
msg = msg&strSearchString&vbcrlf
End If
next
Loop
inFile.Close
outfile.WriteLine msg
WScript.Echo "Done!"
Это кажется хорошим началом, но опять же, мне нужно посчитать 14-ю строку после начала каждой записи, если это 14-я строка пуста.
Любая помощь с благодарностью. -Alel