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.zip
和 test/two.zip
,但会离开 test/nested/three.zip
。
steps:
- task: ExtractFiles@1
inputs:
archiveFilePatterns: 'test/*.zip'
cleanDestinationFolder: true
overwriteExistingFiles: false
要求
要求 | 说明 |
---|---|
管道类型 | YAML,经典版本,经典版本 |
运行时间 | 代理,DeploymentGroup |
需求 | 没有 |
功能 | 此任务不满足作业中后续任务的任何要求。 |
命令限制 | 此任务使用以下 命令限制运行: 受限 |
|
此任务有权 设置以下变量:禁用设置变量 |
代理版本 | 2.182.1 或更高版本 |
任务类别 | 效用 |
要求 | 说明 |
---|---|
管道类型 | YAML,经典版本,经典版本 |
运行时间 | 代理,DeploymentGroup |
需求 | 没有 |
功能 | 此任务不满足作业中后续任务的任何要求。 |
命令限制 | 任何 |
|
任何 |
代理版本 | 所有支持的代理版本。 |
任务类别 | 效用 |