Copy, tâche
Mise à jour : novembre 2007
Copie des fichiers du système de fichiers vers un nouvel emplacement.
Paramètres
Le tableau suivant décrit les paramètres de la tâche Copy.
Paramètre |
Description |
||
---|---|---|---|
CopiedFiles |
Paramètre de sortie ITaskItem[] facultatif. Contient les éléments dont la copie a réussi. |
||
DestinationFiles |
Paramètre ITaskItem[] facultatif. Spécifie la liste des fichiers vers lesquels copier les fichiers sources. Cette liste représente en principe un mappage un à un avec la liste spécifiée dans le paramètre SourceFiles. En d'autres termes, le premier fichier spécifié dans SourceFiles est copié vers le premier emplacement spécifié dans DestinationFiles, et ainsi de suite. |
||
DestinationFolder |
Paramètre ITaskItem facultatif. Spécifie le répertoire vers lequel vous souhaitez copier les fichiers. Il doit s'agir d'un répertoire, pas d'un fichier. Si le répertoire n'existe pas, il est automatiquement créé. |
||
OverwriteReadOnlyFiles |
Paramètre Boolean facultatif. Écrase les fichiers même s'ils sont marqués comme fichiers en lecture seule. |
||
SkipUnchangedFiles |
Paramètre Boolean facultatif. Si la valeur est true, ignore la copie de fichiers inchangés entre la source et destination. La tâche Copy considère que des fichiers sont inchangés lorsqu'ils présentent la même taille et les mêmes date et heure de dernière modification.
|
||
SourceFiles |
Paramètre ITaskItem[] obligatoire. Spécifie les fichiers à copier. |
Notes
Le paramètre DestinationFolder ou DestinationFiles doit être spécifié, mais pas les deux. Si les deux sont spécifiés, la tâche échoue et une erreur est consignée.
Exemple
L'exemple suivant copie les éléments de la collection d'éléments MySourceFiles dans le dossier 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>
L'exemple suivant montre comment effectuer une copie récursive. Ce projet effectue la copie récursive de tous les fichiers depuis c:\MySourceTree vers c:\MyDestinationTree en conservant la structure de répertoires.
<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>