Тема: VBScript: чтение последних N строк текстового файла
Основная идея состоит в создании массива из N элементов для хранения последовательно считываемых строк текстового файла и организации на основе этого массива кольца со скользящим началом очереди. Данный скрипт отличает бережное отношение к оперативной памяти, в отличие от простого «.ReadAll()».
Option Explicit
Dim strPath
Dim lngLines
Dim objFSO
Dim objTS
Dim i
Dim j
strPath = "c:\Temp\Some.txt" ' Путь к текстовому файлу
lngLines = 10 ' Количество потребных последних строк
ReDim arrLines(lngLines - 1) ' Массив для организации очереди из считываемых строк
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
Set objTS = objFSO.OpenTextFile(strPath)
With objTS
i = 0
Do Until .AtEndOfStream
arrLines(i) = .ReadLine()
i = (i + 1) Mod lngLines
Loop
.Close
End With
Set objTS = Nothing
Set objFSO = Nothing
For j = 0 To lngLines - 1
WScript.Echo arrLines((i + j) Mod lngLines)
Next
WScript.Quit 0
Автор идеи — shiz.