共用方式為


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

指定在將封存內容擷取至目的地目錄之前,刪除目的地目錄的整個內容的選項。


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、傳統組建、傳統版本
執行於 Agent、DeploymentGroup
需求 沒有
功能 此工作不符合作業中後續工作的任何需求。
命令限制 此工作會使用下列 命令限制執行: 受限制
Settable 變數 此工作有權 設定下列變數:已停用設定變數
代理程式版本 2.182.1 或更新
工作類別 效用
要求 說明
管線類型 YAML、傳統組建、傳統版本
執行於 Agent、DeploymentGroup
需求 沒有
功能 此工作不符合作業中後續工作的任何需求。
命令限制 任意
Settable 變數 任意
代理程式版本 所有支援的代理程式版本。
工作類別 效用

另請參閱