ExtractFiles@1 - 提取文件 v1 任务

使用此任务可以提取各种存档和压缩文件,例如.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 提取任何名为“bin”的子文件夹中的所有.7z文件。

该模式用于仅匹配存档文件路径,而不是文件夹路径,以及要提取的存档内容。 因此,应指定模式,例如 **/bin/** 而不是 **/bin

若要从其他路径(例如管道项目)提取文件,请使用 复制任务 将要提取的文件复制到存储库的根文件夹:$(Build.SourcesDirectory)。 例如,若要复制管道项目,请将文件从 $(Pipeline.Workspace) 移动到 $(Build.SourcesDirectory),然后将其从根文件夹或其子文件夹中提取。


archiveFilePatterns - 存档文件模式
string。 必填。 默认值:*.zip

指定要提取的存档文件的文件路径或模式。 支持多行微型模式。 详细了解 提取文件任务

若要从其他路径(例如管道项目)提取文件,请使用 复制任务 将要提取的文件复制到存储库的根文件夹:$(Build.SourcesDirectory)。 例如,若要复制管道项目,请将文件从 $(Pipeline.Workspace) 移动到 $(Build.SourcesDirectory),然后将其从根文件夹或其子文件夹中提取。


destinationFolder - 目标文件夹
string。 必填。

指定应将存档文件解压缩到的目标文件夹。 如果文件不在存储库中,请使用 变量。 例如: $(agent.builddirectory)


在提取之前,cleanDestinationFolder - 清理目标文件夹
boolean。 默认值:true

指定在将存档内容提取到目标目录(clean)之前删除目标目录的整个内容的选项。


overwriteExistingFiles - 覆盖现有文件
boolean。 默认值:false

指定在目标目录中覆盖现有文件(如果已存在)的选项。 如果选项 false,脚本会提示现有文件,询问是否要覆盖这些文件。


pathToSevenZipTool - 7z 实用工具的路径
string

指定 7z 实用工具的自定义路径。 例如,在 Windows 上 C:\7z\7z.exe,在 MacOS/Ubuntu 上 /usr/local/bin/7z。 如果未在 Windows 上指定,将使用随任务一起提供的默认 7zip 版本。


任务控制选项

除任务输入之外,所有任务都具有控制选项。 有关详细信息,请参阅 控件选项和常见任务属性

输出变量

没有。

注解

使用此任务可以使用匹配模式将文件从存档提取到目标文件夹。 支持一系列标准存档格式,包括 .zip、.jar、.war、.ear、.tar、.7z等。

有关文件匹配模式的详细信息,请参阅 文件匹配模式参考

例子

以递归方式提取所有 .zip 文件

此示例将以递归方式提取所有 .zip 文件,包括子文件夹中的根文件和文件。

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

从子文件夹提取所有 .zip 文件

此示例将提取 test/one.ziptest/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 变量 任何
代理版本 所有支持的代理版本。
任务类别 效用

另请参阅