Можно застегнуть файлы без установки какого - либо дополнительного программного обеспечения (я тестировал). Решение:
Запустите это в окне командной строки, чтобы создать zip-файл с именем C:\someArchive.zip
содержащий все файлы в папке C:\test3
:
CScript zip.vbs C:\test3 C:\someArchive.zip
Где файл zip.vbs
содержит:
'Get command-line arguments.
Set objArgs = WScript.Arguments
Set FS = CreateObject("Scripting.FileSystemObject")
InputFolder = FS.GetAbsolutePathName(objArgs(0))
ZipFile = FS.GetAbsolutePathName(objArgs(1))
'Create empty ZIP file.
CreateObject("Scripting.FileSystemObject").CreateTextFile(ZipFile, True).Write "PK" & Chr(5) & Chr(6) & String(18, vbNullChar)
Set objShell = CreateObject("Shell.Application")
Set source = objShell.NameSpace(InputFolder).Items
objShell.NameSpace(ZipFile).CopyHere(source)
'Required to let the zip command execute
'If this script randomly fails or the zip file is not complete,
'just increase to more than 2 seconds
wScript.Sleep 2000
Я не проверял это для путей и имен файлов, содержащих пробелы. Это может работать, если кавычки ставятся вокруг параметров командной строки.
Как это работает: встроенная функция zip в Windows (Windows XP и более поздние версии?) через интерфейсы COM из оболочки Windows, explorer.exe - это «оболочка».Приложение "часть. Этот интерфейс COM можно использовать из сценария VBScript, поскольку такой сценарий может обращаться к компонентам COM. Чтобы сделать скрипт полностью автономным, он создает пустой ZIP-файл для начала (можно также создать пустой ZIP-файл и скопировать его в целевую систему вместе со сценарием VBScript).
VBScript был установлен по умолчанию в каждой версии Microsoft Windows для настольных компьютеров, начиная с Windows 98.
CScript.exe
является частью Windows Script Host.
Windows Script Host распространяется и устанавливается по умолчанию в Windows 98 и более поздних версиях Windows. Он также устанавливается, если установлен Internet Explorer 5 (или более поздняя версия).