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

Especifica a lista de arquivos para copiar os arquivos de fonte. Essa lista deve ser um mapeamento um-para-um com a lista especificada no SourceFiles parâmetro. Ou seja, o primeiro arquivo especificado em SourceFiles serão copiados para o primeiro local especificado na DestinationFiles, e assim por diante.

DestinationFolder

Opcional ITaskItem parâmetro.

Especifica o diretório ao qual você deseja copiar os arquivos. Esse 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 que eles são marcados sistema autônomo arquivos somente de leitura

SkipUnchangedFiles

Opcional Boolean parâmetro.

If true, ignora a cópia dos arquivos que permanecem inalterados entre fonte e destino. The Copy tarefa considera arquivos a serem inalterado se eles tiverem o mesmo dimensionar e a última vez modificada mesma.

ObservaçãoObservação:
Se você conjunto esse parâmetro como true, você não deve usar análise de dependência no destino que o contém, já que só executa a tarefa se a última modificação horários dos arquivos de fonte forem mais recentes do que a última modificação horários dos arquivos de destino.

SourceFiles

Necessário ITaskItem[] parâmetro.

Especifica os arquivos para copiar.

Comentários

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

Exemplo

O exemplo a seguir copia os itens no MySourceFiles coleção de itens em c:\MyProject\destino pasta.

<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