分享方式:


ExtractFiles@1 - 擷取檔案 v1 工作

使用此工作來擷取各種封存和壓縮檔案,例如 .7z、.rar、.tar.gz 和 .zip。

Syntax

# 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.
# 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

archiveFilePatterns - 封存檔案模式
string. 必要。 預設值:*.zip

指定要擷取之封存檔案的檔案路徑或模式。 支援多行迷你配對模式。 深入瞭解 擷取檔案工作


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.ziptest/two.zip ,但會保留 test/nested/three.zip

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

規格需求

需求 描述
管線類型 YAML、傳統組建、傳統版本
執行于 Agent、DeploymentGroup
要求
Capabilities 此工作不符合作業中後續工作的任何需求。
命令限制 此工作會使用下列 命令限制來執行:受限制
Settable 變數 此工作有權 設定下列變數:已停用設定變數
代理程式版本 2.182.1 或更新版本
工作類別 公用程式
需求 描述
管線類型 YAML、傳統組建、傳統版本
執行于 Agent、DeploymentGroup
要求
Capabilities 此工作不符合作業中後續工作的任何需求。
命令限制 任意
Settable 變數 任意
代理程式版本 所有支援的代理程式版本。
工作類別 公用程式

另請參閱