Тема: VBScript: работа с zip-архивами с помощью компонента Zip Component
Бесплатный COM-сервер Zip Component предоставляет функциональность архиватора: удобная упаковка/распаковка файла или папки одной строкой кода. Компонент можно скачать здесь, описание и примеры использования можно найти здесь. Ссылка на скачивание высылается на e-mail. Размер дистрибутива (архив) — около 70 Кб. Компонент не работает с огромными архивами, размер архива ограничен количеством доступной оперативной памяти.
Простейший пример упаковки файлов с максимальной степенью сжатия (степень сжатия может принимать значения от 1 до 9):
Set objZip = CreateObject("XStandard.Zip")
objZip.Pack "C:\Temp\steam1.jpg", "C:\Temp\test.zip",,, 9
objZip.Pack "C:\Temp\steam2.jpg", "C:\Temp\test.zip",,, 9
Упаковка с сохранением путей:
Set objZip = CreateObject("XStandard.Zip")
objZip.Pack "C:\Temp\steam1.jpg", "C:\Temp\test.zip", True
objZip.Pack "C:\Temp\steam2.jpg", "C:\Temp\test.zip", True
Упаковка с указанием специальных путей, и с использованием групповых символов:
Set objZip = CreateObject("XStandard.Zip")
objZip.Pack "C:\Temp\*.jpg", "C:\Temp\test.zip", True, "files/subfolder"
Распаковка файлов с сохранением путей и использованием групповых символов:
Set objZip = CreateObject("XStandard.Zip")
objZip.UnPack "C:\Temp\test.zip", "C:\Temp\", "*.jpg"
Исследование содержимого архива:
Set objZip = CreateObject("XStandard.Zip")
For Each objItem In objZip.Contents("C:\Temp\test.zip")
If objItem.Type = 2 Then
tp = "(file)"
Else
tp = "(folder)"
End If
WSCript.Echo objItem.Path & objItem.Name & _
" " & objItem.Date & " " & objItem.Size & " " & tp
Next
Удаление файла из архива:
Set objZip = CreateObject("XStandard.Zip")
objZip.Delete "files/subfolder/steam1.jpg", "C:\Temp\test.zip"
Перемещение/переименование файла внутри архива:
Set objZip = CreateObject("XStandard.Zip")
objZip.Move "files/subfolder/steam2.jpg", "files/steam1.jpg", "C:\Temp\test.zip"
Обработка ошибок:
Set objZip = CreateObject("XStandard.Zip")
WScript.Echo objZip.Version
objZip.Pack "C:\Temp\some.jpg", "C:\Temp\test.zip"
WScript.Echo objZip.ErrorCode & " " & objZip.ErrorDescription
В названии ветки всегда должен быть указан язык программирования или среда исполнения скрипта, если это возможно.