1

Тема: 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
Предложения в русском языке начинаются с большой буквы и заканчиваются точкой.
В названии ветки всегда должен быть указан язык программирования или среда исполнения скрипта, если это возможно.