win_unzip - Разархивирует сжатые файлы и архивы на узле Windows
Новое в версии 2.0.
Описание
- Разархивирует сжатые файлы и архивы.
- Поддерживает файлы .zip напрямую
- Поддерживает другие форматы, поддерживаемые модулем PowerShell Community Extensions (PSCX) (в основном все, что поддерживает 7zip)
- Для целей, не относящихся к Windows, используйте модуль unarchive вместо этого.
Требования
Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.
- PSCX
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| creates | Если этот файл или каталог существует, указанный src не будет извлечен. | |
| delete_archive |
| Удалить файл zip после разархивирования. Псевдонимы: rm |
| dest обязательно | Место назначения файла zip (укажите абсолютный путь к каталогу). Если он не существует, каталог будет создан. | |
| recurse |
| Рекурсивно извлечь сжатые файлы внутри файла src. Установка значения yes требует установки модуля PSCX. |
| src обязательно | Файл, который нужно разархивировать (укажите абсолютный путь). |
Примечания
Примечание
- Этот модуль не является идемпотентным, он будет извлекать архив каждый раз и сообщать об изменениях.
- Для извлечения типов сжатия, отличных от .zip, требуется модуль PowerShellCommunityExtensions (PSCX). Этот модуль (в сочетании с PSCX) имеет возможность рекурсивно разархивировать файлы внутри файла src zip, а также функциональность для многих других типов сжатия. Если целевой каталог не существует, он будет создан перед разархивированием файла. Указание параметра rm заставит удалить файл src после извлечения.
- Для целей, не относящихся к Windows, используйте модуль unarchive вместо этого.
Примеры
# This unzips a library that was downloaded with win_get_url, and removes the file after extraction
# $ ansible -i hosts -m win_unzip -a "src=C:\LibraryToUnzip.zip dest=C:\Lib remove=true" all
- name: Unzip a bz2 (BZip) file
win_unzip:
src: C:\Users\Phil\Logs.bz2
dest: C:\Users\Phil\OldLogs
creates: C:\Users\Phil\OldLogs
- name: Unzip gz log
win_unzip:
src: C:\Logs\application-error-logs.gz
dest: C:\ExtractedLogs\application-error-logs
# Unzip .zip file, recursively decompresses the contained .gz files and removes all unneeded compressed files after completion.
- name: Unzip ApplicationLogs.zip and decompress all GZipped log files
hosts: all
gather_facts: false
tasks:
- name: Recursively decompress GZ files in ApplicationLogs.zip
win_unzip:
src: C:\Downloads\ApplicationLogs.zip
dest: C:\Application\Logs
recurse: yes
delete_archive: yes
# Install PSCX to use for extracting a gz file
- name: Grab PSCX msi
win_get_url:
url: http://download-codeplex.sec.s-msft.com/Download/Release?ProjectName=pscx&DownloadId=923562&FileTime=130585918034470000&Build=20959
dest: C:\Windows\Temp\pscx.msi
- name: Install PSCX
win_msi:
path: C:\Windows\Temp\pscx.msi
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| dest строка | всегда | Указанный путь к месту назначения Пример: C:\ExtractedLogs\application-error-logs |
| removed булево | всегда | Указывает, удалял ли модуль какие-либо файлы во время выполнения задачи Пример: True |
| src строка | всегда | Указанный путь к исходному файлу Пример: C:\Logs\application-error-logs.gz |
Статус
Этот модуль помечен как предварительная версия, что означает, что он не гарантирует обратную совместимость интерфейса.
Автор
- Phil Schwartz (@schwartzmx)
Подсказка
Если вы обнаружите какие-либо проблемы в этом руководстве, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.5/modules/win_unzip_module.html