Zip.GetContents
Описание
Возвращает список файлов в данном Zip файле.
ПараметрыZipFile
(строка) Полный путь и имя файла к архивному Zip файлу.
IncludeFolderNames
(логический) Включать ли любые папки в список:
ВозвратResultVariable
(таблица) Таблица, содержащая список содержимого Zip файла. Если Zip файл пустой или происходит ошибка, будет возвращен нуль.
Можно использовать Application.GetLastError для определения случился ли отказ в работе этого действия и почему.
При добавлении действия из редактора скрипта, можно использовать это поле для определения переменной, которая возвращает значение, сохраняющееся в ней.
Смотрите также: Связанные действия
ПримерыПример 1zip_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, файлы будут распакованы в выбранную папку. По окончании процесса будет дано уведомление об успешном или нет завершении процедуры.
Смотрите также: Связанные действия
|