Compartilhar via


ExtractFiles@1 – Tarefa Extrair arquivos v1

Use essa tarefa para extrair uma variedade de arquivos de arquivo e compactação, como .7z, .rar, .tar.gz e .zip.

Sintaxe

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

Entradas

padrões de arquivo archiveFilePatterns - arquivar
string. Obrigatório Valor padrão: **/*.zip.

Especifica os caminhos de arquivo ou padrões dos arquivos de arquivo a serem extraídos. Dá suporte a várias linhas de padrões de minimatch. Saiba mais sobre a tarefa Extrair Arquivos.

Especifica os padrões para corresponder aos arquivos que você deseja extrair. Por padrão, os padrões começam na pasta raiz do repositório (como se você tivesse especificado $(Build.SourcesDirectory).
Especifica os filtros de padrão, um por linha, que correspondem aos arquivos a serem extraídos. Por exemplo:

  • test.zip extrai o arquivo test.zip na pasta raiz.
  • test/*.zip extrai todos os arquivos .zip na pasta de teste.
  • **/*.tar extrai todos os arquivos .tar na pasta raiz e nas subpastas.
  • **/bin/*.7z extrai todos os arquivos .7z em qualquer subpasta chamada "bin".

O padrão é usado para corresponder apenas a caminhos de arquivo morto, não a caminhos de pasta e não a conteúdo de arquivo a ser extraído. Portanto, você deve especificar padrões, como **/bin/** em vez de **/bin.

Para extrair arquivos de outros caminhos (por exemplo, um artefato de pipeline), use a tarefa Copiar para copiar o arquivo que você deseja extrair para a pasta raiz do seu repositório: $(Build.SourcesDirectory). Por exemplo, para copiar um artefato de pipeline, mova o arquivo de $(Pipeline.Workspace) para $(Build.SourcesDirectory) e, em seguida, extraia-o da pasta raiz ou de suas subpastas.


destinationFolder - de pasta destino
string. Obrigatório

Especifica a pasta de destino na qual os arquivos de arquivo devem ser extraídos. Use variáveis se os arquivos não estiverem no repositório. Por exemplo: $(agent.builddirectory).


cleanDestinationFolder - Limpar pasta de destino antes de extrair
boolean. Valor padrão: true.

Especifica a opção de excluir todo o conteúdo do diretório de destino (limpo) antes que o conteúdo do arquivo seja extraído nele.


overwriteExistingFiles - Substituir arquivos existentes
boolean. Valor padrão: false.

Especifica a opção de substituir arquivos existentes no diretório de destino se eles já existirem. Se a opção for false, o script solicitará arquivos existentes, perguntando se você deseja substituí-los.


pathToSevenZipTool - caminho para o utilitário de 7z
string.

Especifica o caminho personalizado para o utilitário de 7z. Por exemplo, C:\7z\7z.exe no Windows e /usr/local/bin/7z no MacOS/Ubuntu. Se não for especificado no Windows, a versão padrão de 7zip fornecida com uma tarefa será usada.


Opções de controle de tarefa

Todas as tarefas têm opções de controle além das suas entradas de tarefas. Para obter mais informações, consulte as opções de Controle de e as propriedades comuns da tarefa.

Variáveis de saída

Nenhum.

Observações

Use essa tarefa para extrair arquivos de arquivos para uma pasta de destino usando padrões de correspondência. Há suporte para uma variedade de formatos de arquivos padrão, incluindo .zip, .jar, .war, .ear, .tar, .7z e muito mais.

Para obter mais informações sobre padrões de correspondência de arquivos, consulte a referência de padrões de correspondência de arquivo .

Exemplos

Extrair todos os arquivos .zip recursivamente

Este exemplo extrairá todos os arquivos .zip recursivamente, incluindo arquivos raiz e arquivos de subpasta.

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

Extrair todos os arquivos .zip da subpasta

Este exemplo extrairá test/one.zip e test/two.zip, mas deixará test/nested/three.zip.

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

Requisitos

Requisito Descrição
Tipos de pipeline YAML, build clássico, versão clássica
Execuções em Agente, DeploymentGroup
de demandas Nenhum
recursos Essa tarefa não atende a nenhuma demanda para tarefas subsequentes no trabalho.
restrições de comando Esta tarefa é executada usando as seguintes restrições de comando : restrito
variáveis settable Essa tarefa tem permissão para definir as seguintes variáveis: a configuração de variáveis está desabilitada
Versão do agente 2.182.1 ou superior
Categoria de tarefa Utilidade

Consulte também