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çã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>