Поделиться через


ExtractFiles@1. Извлечение файлов версии 1

Используйте эту задачу для извлечения различных архивных и сжатых файлов, таких как .7z, .rar, .tar.gz и .zip.

Синтаксис

# Extract files v1
# Extract a variety of archive and compression files such as .7z, .rar, .tar.gz, and .zip.
- task: ExtractFiles@1
  inputs:
    archiveFilePatterns: '**/*.zip' # string. Required. Archive file patterns. Default: **/*.zip.
    destinationFolder: # string. Required. Destination folder. 
    #cleanDestinationFolder: true # boolean. Clean destination folder before extracting. Default: true.
    #overwriteExistingFiles: false # boolean. Overwrite existing files. Default: false.
    #pathToSevenZipTool: # string. Path to 7z utility.
# Extract files v1
# Extract a variety of archive and compression files such as .7z, .rar, .tar.gz, and .zip.
- task: ExtractFiles@1
  inputs:
    archiveFilePatterns: '**/*.zip' # string. Required. Archive file patterns. Default: **/*.zip.
    destinationFolder: # string. Required. Destination folder. 
    #cleanDestinationFolder: true # boolean. Clean destination folder before extracting. Default: true.
    #overwriteExistingFiles: false # boolean. Overwrite existing files. Default: false.
# Extract files v1
# Extract a variety of archive and compression files such as .7z, .rar, .tar.gz, and .zip.
- task: ExtractFiles@1
  inputs:
    archiveFilePatterns: '*.zip' # string. Required. Archive file patterns. Default: *.zip.
    destinationFolder: # string. Required. Destination folder. 
    #cleanDestinationFolder: true # boolean. Clean destination folder before extracting. Default: true.

Входные данные

archiveFilePatterns - шаблонов архивных файлов
string. Обязательное. Значение по умолчанию: **/*.zip.

Указывает пути к файлам или шаблоны архивных файлов для извлечения. Поддерживает несколько строк шаблонов миниматча. Дополнительные сведения о задаче извлечения файлов.

Задает шаблоны, соответствующие архивам, которые требуется извлечь. По умолчанию шаблоны начинаются в корневой папке репозитория (так же, как если бы вы указали $(Build.SourcesDirectory).
Указывает фильтры шаблонов( по одной строке), соответствующие архивам для извлечения. Рассмотрим пример.

  • test.zip извлекает файл test.zip в корневой папке.
  • test/*.zip извлекает все .zip файлы в тестовой папке.
  • **/*.tar извлекает все .tar файлы в корневой папке и вложенных папках.
  • **/bin/*.7z извлекает все файлы .7z в любой вложенной папке с именем bin.

Шаблон используется для сопоставления только архивных путей к файлам, а не путей к папкам, а не для извлечения содержимого архива. Поэтому следует указать шаблоны, например **/bin/** вместо **/bin.

Чтобы извлечь файлы из других путей (например, артефакт конвейера), используйте задачу копирования для копирования файла, который требуется извлечь в корневую папку репозитория: $(Build.SourcesDirectory). Например, чтобы скопировать артефакт конвейера, переместите файл из $(Pipeline.Workspace) в $(Build.SourcesDirectory), а затем извлеките его из корневой папки или ее вложенных папок.


archiveFilePatterns - шаблонов архивных файлов
string. Обязательное. Значение по умолчанию: *.zip.

Указывает пути к файлам или шаблоны архивных файлов для извлечения. Поддерживает несколько строк шаблонов миниматча. Дополнительные сведения о задаче извлечения файлов.

Чтобы извлечь файлы из других путей (например, артефакт конвейера), используйте задачу копирования для копирования файла, который требуется извлечь в корневую папку репозитория: $(Build.SourcesDirectory). Например, чтобы скопировать артефакт конвейера, переместите файл из $(Pipeline.Workspace) в $(Build.SourcesDirectory), а затем извлеките его из корневой папки или ее вложенных папок.


папки назначения destinationFolder -
string. Обязательное.

Указывает целевую папку, в которую необходимо извлечь архивные файлы. Используйте переменные, если файлы не находятся в репозитории. Например: $(agent.builddirectory).


cleanDestinationFolder - Папку "Очистить назначение" перед извлечением
boolean. Значение по умолчанию: true.

Указывает параметр удаления всего содержимого целевого каталога (очистки) перед извлечением в него содержимого архива.


overwriteExistingFiles - перезаписать существующие файлы
boolean. Значение по умолчанию: false.

Указывает параметр перезаписи существующих файлов в целевом каталоге, если они уже существуют. Если параметр false, скрипт запрашивает существующие файлы, спрашивая, нужно ли перезаписать их.


pathToSevenZipTool - Путь к служебной программе 7z
string.

Задает пользовательский путь к служебной программе 7z. Например, C:\7z\7z.exe в Windows и /usr/local/bin/7z в MacOS/Ubuntu. Если он не указан в Windows, будет использоваться версия 7zip по умолчанию, предоставленная задачей.


Параметры управления задачами

Помимо входных данных, все задачи имеют параметры управления. Дополнительные сведения см. в разделе Параметры управления и общие свойства задач.

Выходные переменные

Нет.

Замечания

Эта задача предназначена для извлечения файлов из архивов в целевую папку с помощью шаблонов соответствия. Поддерживается ряд стандартных форматов архивов, включая .zip, .jar, war, .ear, .tar, .7z и многое другое.

Дополнительные сведения о шаблонах сопоставления файлов см. в справочнике по шаблонам сопоставления файлов.

Примеры

Извлечение всех .zip файлов рекурсивно

В этом примере будут извлечены все .zip файлы рекурсивно, включая корневые файлы и файлы из вложенных папок.

steps:
- task: ExtractFiles@1
  inputs:
    archiveFilePatterns: '**/*.zip'
    cleanDestinationFolder: true
    overwriteExistingFiles: false

Извлечение всех .zip файлов из вложенной папки

В этом примере будут извлечены test/one.zip и test/two.zip, но test/nested/three.zip.

steps:
- task: ExtractFiles@1
  inputs:
    archiveFilePatterns: 'test/*.zip'
    cleanDestinationFolder: true
    overwriteExistingFiles: false

Требования

Требование Описание
Типы конвейеров YAML, классическая сборка, классический выпуск
Выполняется в Агент, DeploymentGroup
требования Нет
возможностей Эта задача не удовлетворяет требованиям к последующим задачам в задании.
ограничения команд Эта задача выполняется с помощью следующих ограничений команд : ограничено.
переменные settable Эта задача имеет разрешение на задать следующие переменные: параметр переменных отключен
Версия агента 2.182.1 или более поздней версии
Категория задач Полезность
Требование Описание
Типы конвейеров YAML, классическая сборка, классический выпуск
Выполняется в Агент, DeploymentGroup
требования Нет
возможностей Эта задача не удовлетворяет требованиям к последующим задачам в задании.
ограничения команд Любое
переменные settable Любое
Версия агента Все поддерживаемые версии агента.
Категория задач Полезность

См. также