Функция _7ZipExtract

         Описание функции


_7ZipExtract

Извлекает файлы из архива в текущий или указанный каталог (e).

#Include <7Zip.au3>
_7ZipExtract($hWnd, $sArcName[, $sOutput = 0[, $sHide = 0[, $sOverwrite = 0[, $sRecurse = 1[, _
        $sIncludeArc[, $sExcludeArc[, $sIncludeFile = 0[, $sExcludeFile = 0[, $sPassword = 0[, $sYes = 0]]]]]]]]]])

Параметры

$hWnd Дескриптор родительского окна или окна владельца
$sArcName Путь к архиву
$sOutput [необязательный] (-o) Каталог, в который будет извлечён архив
$sHide [необязательный] (-hide) Включите этот флаг, если хотите вызвать CallBack функцию
$sOverwrite [необязательный] (-ao) Режим перезаписи существующих файлов
    0 - (по умолчанию) (-aoa) Перезаписывает все существующие файлы без подсказки
    1 - (-aos) Пропускает извлечение существующих файлов
    2 - (-aou) Автоматически переименует извлекаемый файл (добавляет индекс копии _1 и т.д.)
    3 - (-aot) Автоматически переименует существующий файл (добавляет индекс копии _1 и т.д.)
$sRecurse [необязательный] Режим рекурсии (вложенных каталогов)
    0 - (-r-) Отключает рекурсию подкаталогов
    1 - (по умолчанию) (-r) Включает рекурсию подкаталогов
    2 - (-r0) Включает рекурсию подкаталогов, только для имен подстановочных знаков (wildcard)
$sIncludeArc [необязательный] (-ai) Включает дополнительные имена архивов.
$sExcludeArc [необязательный] (-ax) Исключает имена архивов.
$sIncludeFile [необязательный] (-i) Включает имена извлекаемых файлов. Определяет имена файлов и подстановочные знаки (wildcard) или файл содержащий список извлекаемых файлов.
$sExcludeFile [необязательный] (-x) Исключает имена извлекаемых файлов. Указывает, какие имена файлов или (и) имена с подстановочными знаками (wildcard) должны быть исключены из операции извлечения
$sPassword [необязательный] (-p) Пароль
$sYes [необязательный] (-y) Отвечает "Да" на все вопросы

Возвращаемое значение

Успех:Возвращает строку с результатом.
Ошибка:Возвращает 0 и устанавливает @error равным 1

Примечания

Учтите, что UDF должна находится в одной папке с запускаемым скриптом.
Для более подробной информации читайте русскую справку 7-Zip, раздел о ключах.

Функция _7ZIPExtractEx отличается от _7ZIPExtract, тем что использует ключ "x" вместо "e", остальное всё тоже самое.

См. также

_7ZIPExtractEx

Пример

; rasim
; http://www.autoitscript.com/forum/topic/85094-7zip/
#include <7Zip.au3>

; Пример 1
$ArcFile = FileOpenDialog("Выберите архив", "", "Архивы (*.7z;*.zip;*.gzip;*.bzip2;*.tar)")
If @error Then Exit

$Output = FileSelectFolder("Выберите каталог для извлечения", "")
If @error Then Exit

$retResult = _7ZIPExtract(0, $ArcFile, $Output)
If @error = 0 Then
    MsgBox(64, "_7ZIPExtractEx", $retResult)
Else
    MsgBox(64, "_7ZIPExtractEx", "Ошибка")
EndIf

; Пример 2
$ArcFile = FileOpenDialog("Выберите архив", "", "Архивы (*.7z;*.zip;*.gzip;*.bzip2;*.tar)")
If @error Then Exit

$Output = FileSelectFolder("Выберите каталог для извлечения", "")
If @error Then Exit

$retResult = _7ZIPExtract(0, $ArcFile, $Output, 0, 0, 1, 0, 0, 0, "*.wav")
If @error = 0 Then
    MsgBox(64, "_7ZIPExtractEx", $retResult)
Else
    MsgBox(64, "_7ZIPExtractEx", "Ошибка")
EndIf