Я пытаюсь архивировать журналы, чтобы фиксировать прерывистую ошибку, когда мои журналы регулярно перезаписываются. Я хочу архивировать журналы, чтобы обеспечить захват требуемого события.
Я написал то, что кажется функциональным кодом для выполнения этого, однако, если папка очень большая, zip терпит неудачу. Если я укажу его на меньший каталог, он будет работать без проблем. Сгенерирована ошибка, и я был бы признателен за любую помощь в выявлении причины.
Как я никогда ранее не программировал в VBS, я заранее извиняюсь, если это кажется простым вопросом.
Option Explicit
dim objFSO, objFolder, FolderToZip, ziptoFile
dim ShellApp, eFile, oNewZip, strZipHeader
dim ZipName, Folder, i, Zip
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder("D:\Program Files\afolder")
Wscript.Sleep 2000
Set oNewZip = objFSO.OpenTextFile("C:\Archive\logs_" & day(date) & month(Date) & Year(date)& ".zip", 8, True)
strZipHeader = "PK" & Chr(5) & Chr(6)
For i = 0 to 17
strZipHeader = strZipHeader & Chr(0)
Next
oNewZip.Write strZipHeader
oNewZip.Close
Set oNewZip = Nothing
WScript.Sleep 5000
FolderToZip = "D:\Program Files\afolder"
ZipToFile = "C:\Archive\logs_" & day(date) & month(Date) & Year(date)& ".zip"
Set ShellApp = CreateObject("Shell.Application")
Set Zip= ShellApp.NameSpace(ZipToFile)
Set Folder= ShellApp.NameSpace(FolderToZip)
Zip.CopyHere(FolderToZip)
WScript.Sleep 2000