Compartilhar via


Copiar tarefa

Copia os arquivos no sistema de arquivos para um novo local.

Parâmetros

A tabela a seguir descreve os parâmetros do Copy tarefa.

Parâmetro

Descrição

CopiedFiles

Opcional ITaskItem[] parâmetro de saída.

Contém os itens que foram copiados com êxito.

DestinationFiles

Opcional ITaskItem[] parâmetro de saída.

Especifica a lista de arquivos para copiar os arquivos de origem.Essa lista deve ser um mapeamento com a lista especificada na SourceFiles parâmetro.Isto é, o primeiro arquivo especificado em SourceFiles será copiado para o primeiro local especificado em DestinationFiles, e assim por diante.

DestinationFolder

Opcional ITaskItem parâmetro.

Especifica o diretório ao qual você deseja copiar os arquivos.Isso deve ser um diretório, não um arquivo.Se o diretório não existir, ele será criado automaticamente.

OverwriteReadOnlyFiles

Opcional Boolean parâmetro.

Substituir arquivos mesmo se eles estiverem marcados como leitura somente arquivos

Retries

Opcional Int32 parâmetro.

Especifica quantas vezes a tentativa de copiar, se todas as tentativas anteriores falharam.O padrão é zero.

Observação: o uso de repetições pode mascarar um problema de sincronização no processo de compilação.

RetryDelayMilliseconds

Opcional Int32 parâmetro.

Especifica o atraso entre as repetições necessárias.O padrão é o argumento RetryDelayMillisecondsDefault, que é passado para o construtor CopyTask.

SkipUnchangedFiles

Opcional Boolean parâmetro.

Se true, ignora a cópia dos arquivos que são alterados entre origem e destino.O Copy tarefa considera os arquivos a serem inalterados se tiverem o mesmo tamanho e o mesmo tempo modificado.

ObservaçãoObservação
Se você definir esse parâmetro para true, você não deve usar análise de dependência no destino contendo, pois que executa a tarefa somente se a última modificação horários dos arquivos de origem forem mais recentes que a última modificação horários dos arquivos de destino.

SourceFiles

Obrigatório ITaskItem[] parâmetro.

Especifica os arquivos para copiar.

UseHardlinksIfPossible

Opcional Boolean parâmetro.

Se true, cria Links de disco rígido para os arquivos copiados em vez de copiar os arquivos.

Comentários

Tanto o DestinationFolder ou DestinationFiles parâmetro deve ser especificado, mas não ambos.Se ambos forem especificados, a tarefa falhará e um erro será registrado.

Além para os parâmetros listados acima, esta tarefa herda os parâmetros da TaskExtension classe, que herda de Task classe.Para obter uma lista desses parâmetros adicionais e suas descrições, consulte Classe Base TaskExtension.

Exemplo

O exemplo a seguir copia os itens de MySourceFiles item da coleção para a pasta c:\MyProject\Destination.

<Project xmlns="https://schemas.microsoft.com/developer/msbuild/2003">

    <ItemGroup>
        <MySourceFiles Include="a.cs;b.cs;c.cs"/>
    </ItemGroup>

    <Target Name="CopyFiles">
        <Copy
            SourceFiles="@(MySourceFiles)"
            DestinationFolder="c:\MyProject\Destination"
        />
    </Target>

</Project>

O exemplo a seguir demonstra como fazer uma cópia recursiva.Este projeto copia todos recursivamente arquivos do c:\MySourceTree para c:\MyDestinationTree, mantendo a estrutura de diretório.

<Project xmlns="https://schemas.microsoft.com/developer/msbuild/2003">

    <ItemGroup>
        <MySourceFiles Include="c:\MySourceTree\**\*.*"/>
    </ItemGroup>

    <Target Name="CopyFiles">
        <Copy
            SourceFiles="@(MySourceFiles)"
            DestinationFiles="@(MySourceFiles->'c:\MyDestinationTree\%(RecursiveDir)%(Filename)%(Extension)')"
        />
    </Target>

</Project>

Consulte também

Conceitos

Tarefas do MSBuild

Outros recursos

Referência de tarefa do MSBuild