vbs-скрипт
Код:
InFile = "D:\Примеры макроса\Для тестирования 10000.txt" ' Путь к текстовому файлу
Set FSO = CreateObject("Scripting.FileSystemObject")
EndBottom = "}" ' Вставляем символ(ы) в конец каждой строки
InSave = 1 ' =0 -Не сохраним копию исходного файла, не 0 -сохраним
' Если надо сохранить исходный файл в .bak
If InSave <> 0 Then
On Error Resume Next
Set F1 = FSO.GetFile(InFile)
If Err.Number = 0 Then
F1.Copy InFile + ".bak"
F1.Close
End If
End If
' Читаем исходный файл, переписываем строки в tmp-файл, переименовываем tmp
Set F1 = FSO.OpenTextFile(InFile, 1, False)
On Error Resume Next
Set F2 = FSO.OpenTextFile(InFile + ".tmp", 2, True)
BegTop = ""
If Err.Number = 0 Then
Messa = CStr(Time) + " Обработка начата" + Chr(13) + Chr(10)
Do While Not F1.AtEndOfStream
iString = F1.ReadLine
F2.Write BegTop + iString + EndBottom
BegTop = vbCrLf
Loop
F1.Close
F2.Close
On Error Resume Next
FSO.CopyFile InFile + ".tmp", InFile, True
If Err.Number = 0 Then
FSO.DeleteFile InFile + ".tmp", True
Else
Messa = Messa + CStr(Time) + " Не удалось скопировать TMP" + Chr(13) + Chr(10)
End If
Else
Messa = Messa + "Ошибка при открытии файла " + Chr(13) + Chr(10) + InFile + ".tmp" + Chr(13) + Chr(10) + Err.Description + Chr(13) + Chr(10)
End If
Messa = Messa + CStr(Time) + " Обработка закончена" + Chr(13) + Chr(10)
L = MsgBox(Messa, 0, "Обработка " + InFile)