Создайте zip-папку, используя vbscript и wmi, не используя CopyHere - PullRequest
0 голосов
/ 07 января 2019

Я пытаюсь написать функцию в VBScript, которая создает заархивированную папку из другой обычной папки. Проблема в том, что мой лектор сказал, что я не могу использовать .CopyHere метод , как в этом коде:

Sub ArchiveFolder (zipFile, sFolder)
    With CreateObject("Scripting.FileSystemObject")
        zipFile = .GetAbsolutePathName(zipFile)
        sFolder = .GetAbsolutePathName(sFolder)

        With .CreateTextFile(zipFile, True)
            .Write Chr(80) & Chr(75) & Chr(5) & Chr(6) & String(18, Chr(0))
        End With
    End With

    With CreateObject("Shell.Application")
        .NameSpace(zipFile).CopyHere .NameSpace(sFolder).Items

        Do Until .NameSpace(zipFile).Items.Count = .NameSpace(sFolder).Items.Count
            WScript.Sleep 1000 
        Loop
    End With
End Sub

Я могу создать zip-файл, но не могу скопировать в него свои файлы (.MoveHere также не рекомендуется моим преподавателем ). Есть ли способ скопировать файлы с помощью WMI или другого компонента Windows?

...