_Zip_AddItem
Добавляет файл или папку в ZIP-архив.
#Include <_Zip.au3>
_Zip_AddItem($sZipFile, $sItem[, $sDestDir = ""[, $iFlag = 21]])
Параметры
$sZipFile | Полный путь к ZIP-файлу |
$sItem |
Полный путь к добавляемому элементу |
$sDestDir |
[необязательный] Подкаталог назначения в архиве, в котором следует разместить элемент, например "some\sub\dir" |
$iFlag |
[необязательный] Флаги копирования файлов (по умолчанию = 1 + 4 + 16) 1 - Перезаписать файл в архиве, если он существует 4 - Без полосы прогресса 8 - Переименовывает, если файл с таким именем уже существует 16 - Отвечает "Да для всех" для любого отображаемого диалогового окна 64 - Сохраняет очередь отмен, если возможно 256 - Отображает окно с полосой прогресса, но не показывает имена файлов 512 - Не подтверждать создание нового каталога, если для выполнения операции это потребуется 1024 - Не отображать пользовательский интерфейс, если произошла ошибка 2048 - Версия 4.71. Не копировать атрибуты безопасности файла 4096 - Действует только в локальном каталоге, не действует рекурсивно в подкаталогах 8192 - Версия 5.0. Не копировать подключенные файлы как группа, копировать только указанные файлы |
Возвращаемое значение
Успех: | Возвращает 1 |
Ошибка: | Возвращает 0 и устанавливает @error |
@error: | 1 - Отсутствует zipfldr.dll |
2 - Библиотека не установлена | |
3 - Путь к ZIP-файлу $sZipFile не является полный путь | |
4 - Добавляемый элемент $sItem не является полный путь | |
5 - Добавляемый элемент не существует | |
6 - Подкаталог назначения в архиве не может быть полный путь | |
7 - Файл $sZipFile не является с расширением ZIP | |
8 - элемента назначения существует и папку (см. примечание) | |
9 - Элемент назначения существует, а флаг перезаписи не установлен | |
10 - Элемент назначения существует, а перезаписать не удалось | |
11 - Не удалось создать внутреннюю структуру каталогов |
Примечания
Папки назначения не могут быть перезаписаны или объединены. Они должны быть предварительно удалены вручную.См. также
_Zip_DeleteItemПример
; wraithdu
; http://www.autoitscript.com/forum/topic/116565-zip-udf-zipfldrdll-library/
#include <_Zip.au3>
$sZipFile = FileOpenDialog("Выберите архив", "", "Архивы ZIP (*.zip)", 3)
If @error Then Exit
$sAddFolder = FileSelectFolder("Выберите добавляемый каталог", "")
If @error Then Exit
$sAddFile = FileOpenDialog("Выберите добавляемый файл", "", "Все файлы (*.*)")
If @error Then Exit
MsgBox(0, 'Добавляемые элементы', $sAddFolder & @LF & $sAddFile & @LF & @LF & 'В архив: ' & $sZipFile)
$iRes = _Zip_AddItem($sZipFile, $sAddFolder)
If @error Then
MsgBox(64, "_Zip_AddItem", "Ошибка @error = " & @error)
Else
MsgBox(64, "_Zip_AddItem", "Каталог добавлен в архив: " & $iRes)
EndIf
$iRes = _Zip_AddItem($sZipFile, $sAddFile)
If @error Then
MsgBox(64, "_Zip_AddItem", "Ошибка @error = " & @error)
Else
MsgBox(64, "_Zip_AddItem", "Файл добавлен в архив: " & $iRes)
EndIf