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