Tarefa Copy
Copia arquivos para um novo local no sistema de arquivos.
Parâmetros
A tabela a seguir descreve os parâmetros da tarefa Copy.
Parâmetro |
Descrição |
---|---|
CopiedFiles |
Parâmetro de saída opcional de ITaskItem[]. Contém os itens que foram copiados com êxito. |
DestinationFiles |
Parâmetro opcional de ITaskItem[]. Especifica a lista de arquivos para copiar os arquivos de origem para. Esta lista seja um mapeamento um-para-um com a lista especificada no parâmetro de SourceFiles . Isto é, o primeiro arquivo especificado em SourceFiles será copiado para o primeiro local especificado em DestinationFiles, e assim por diante. |
DestinationFolder |
Parâmetro opcional de ITaskItem. Especifica o diretório a que você deseja copiar os arquivos. Isso deve ser um diretório, não um arquivo. Se o diretório não existe, ele é criado automaticamente. |
OverwriteReadOnlyFiles |
Parâmetro opcional de Boolean. Substitua arquivos mesmo se são marcados como arquivos somente leitura |
Retries |
Parâmetro opcional de Int32. Especifica quantas vezes tentar copiar, se todas as tentativas anteriores falharam. Opções para zero. Observação: O uso do tenta pode mascarar um problema de sincronização no processo de compilação. |
RetryDelayMilliseconds |
Parâmetro opcional de Int32. Especifica o atraso entre todas as novas tenta necessárias. Tem como padrão o argumento de RetryDelayMillisecondsDefault, que é passado para o construtor de CopyTask. |
SkipUnchangedFiles |
Parâmetro opcional de Boolean. Se true, ignora a cópia dos arquivos que são inalteradas entre a fonte e o alvo. A tarefa de Copy considera ser arquivos inalterados se eles tiverem o mesmo tamanho e os mesmos hora da última modificação. Dica Se você definir este parâmetro a true, você usar a análise de dependência no destino recipiente, porque isso executa somente a tarefa se a hora da última modificação dos arquivos de origem são mais recentes dos hora da última modificação dos arquivos de destino. |
SourceFiles |
Parâmetro necessário ITaskItemde[] . Especifica os arquivos para copiar. |
UseHardlinksIfPossible |
Parâmetro opcional de Boolean. Se true, criar links físicos para os arquivos copiados em vez de copiar os arquivos. |
Comentários
DestinationFolder ou o parâmetro de DestinationFiles devem ser especificados, mas não ambos. Se ambos são especificados, a tarefa falha e um erro está conectado.
Além dos parâmetros listados acima, essa tarefa herda parâmetros da classe TaskExtension, que é herdada da própria classe Task. Para obter uma lista desses parâmetros adicionais e suas descrições, consulte Classe TaskExtension (base).
Exemplo
O exemplo a seguir copia os itens na coleção de item de MySourceFiles na 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 os arquivos recursivamente de c:\MySourceTree em c:\MyDestinationTree, mantendo a estrutura de diretórios.
<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>