Zip.GetContents

table Zip.GetContents ( string ZipFile,
boolean IncludeFolderNames = true )
Примеры

Описание

Возвращает список файлов в данном Zip файле.

Параметры

ZipFile

(строка) Полный путь и имя файла к архивному Zip файлу.

IncludeFolderNames

(логический) Включать ли любые папки в список:

ЗНАЧЕНИЕ
VALUE
ОПИСАНИЕ
DESCRIPTION
trueЛюбые внутренние папки будут включены в список как отдельные записи. (По умолчанию)
falseЛюбые внутренние папки будут пропущены в списке. (Пути файлов будут по-прежнему содержать имена папок, при этом папки не будут включены в список как отдельные записи.)

Возврат

ResultVariable

(таблица) Таблица, содержащая список содержимого Zip файла. Если Zip файл пустой или происходит ошибка, будет возвращен нуль. Можно использовать Application.GetLastError для определения случился ли отказ в работе этого действия и почему.

При добавлении действия из редактора скрипта, можно использовать это поле для определения переменной, которая возвращает значение, сохраняющееся в ней.
Смотрите также: Связанные действия

Примеры

Пример 1

zip_contents = Zip.GetContents("AutoPlay\\Docs\\Info.zip", true);
Получает список содержимого в Zip файле "Info.zip" и возвращает его в таблице по имени "zip_contents".

Пример 2

-- Allow the user to select a directory to unzip the files.
-- Даем пользователю возможность выбрать папку для распаковки файлов.
target_folder = Dialog.FolderBrowse("Select a Folder", "C:\\");

-- Check to see if the user cancelled or an error occurred.
-- Смотрим, не отменил ли действие пользователь и не произошло ли ошибки.
if (target_folder ~= "CANCEL") and (target_folder ~= "") then
    -- Gets a list of the contents of a zip file.
    -- Получаем список содержимого zip файла.
    zip_contents = Zip.GetContents("AutoPlay\\Docs\\Info.zip", true);

    -- Get the error code of the last action.
    -- Получаем код ошибки для последнего действия.
    error = Application.GetLastError();

    -- If an error occurred, display the error code message.
    -- Если произошла ошибка, показываем сообщение с кодом ошибки.
    if (error ~= 0) then
        Dialog.Message("Error", _tblErrorMessages[error], MB_OK, MB_ICONEXCLAMATION);
    else
        -- Take the table and turn it into a string with newlines for displaying.
        -- Берем таблицу и превращаем её в строку, показывая каждый элемент с новой строки.
        zip_contents_display = Table.Concat(zip_contents, "\r\n", 1, TABLE_ALL);

        -- Ask the user if they are sure they would like to unzip the contents.
        -- Спрашиваем пользователя, уверен ли он, что хочет распаковать содержимое.
        result = Dialog.Message("Information", "The following files will be unzipped:\r\nClick the Cancel button to abort the process.\r\n\r\n" .. zip_contents_display, MB_OKCANCEL)

        -- If the user clicked Ok, unzip the files.
        -- Если пользователь кликнет Ok, распаковываем файлы.
        if (result == IDOK) then
            -- Show the status dialog.
            -- Показываем диалоговое окно состояния.
            StatusDlg.Show();
            -- Extract the contents of the Zip file.
            -- Извлекаем содержимое Zip файла.
            Zip.Extract("AutoPlay\\Docs\\Info.zip", {"*.*"}, target_folder, true, true, "", ZIP_OVERWRITE_NEVER, nil);

            -- Check the error code for the last action.
            -- Проверяем код ошибки для последнего действия.
            error = Application.GetLastError();

            -- Hide the status dialog.
            -- Скрываем диалоговое окно состояния.
            StatusDlg.Hide();

            -- If an error occurred, display the error code message.
            -- Если происходит ошибка, показываем сообщение с кодом ошибки.
            if (error ~= 0) then
                Dialog.Message("Errror", tblErrorMessages[error], MB_OK, MB_ICONEXCLAMATION);
            else
                Dialog.Message("Success", "The unzipping was successful.", MB_OK, MB_ICONINFORMATION);
            end
        end
    end
end
В этом примере вначале пользователю предлагается выбрать папку при помощи действия Dialog.FolderBrowse. Эта папка будет использована для распаковки файлов. Затем пользователю предоставляется диалоговое окно содержащее имена файлов, которые будут распакованы и разрешается прервать процесс. Если пользователь кликает Ok, файлы будут распакованы в выбранную папку. По окончании процесса будет дано уведомление об успешном или нет завершении процедуры.
Смотрите также: Связанные действия