Partager via


Copy, tâche

Copie des fichiers vers un nouvel emplacement dans le système de fichiers.

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[] optionnel.

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.

Retries

Paramètre Int32 facultatif.

Spécifie le nombre de tentatives de copie, si toutes les tentatives précédentes ont échoué. La valeur par défaut est zéro.

Remarque :    l'utilisation de plusieurs tentatives peut masquer un problème de synchronisation dans votre processus de génération.

RetryDelayMilliseconds

Paramètre Int32 facultatif.

Spécifie le délai entre les tentatives requises. La valeur par défaut est l'argument RetryDelayMillisecondsDefault, qui est passé au constructeur CopyTask.

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.

Notes

Si vous affectez la valeur true à ce paramètre, vous ne devez pas utiliser l'analyse de dépendances sur la cible conteneur car, dans ce cas, la tâche est alors uniquement exécutée lorsque les dates/heures de dernière modification des fichiers sources sont postérieures à celles des fichiers de destination.

SourceFiles

Paramètre ITaskItem[] obligatoire.

Spécifie les fichiers à copier.

UseHardlinksIfPossible

Paramètre Boolean facultatif.

Si la valeur est true, des liens physiques sont créés pour les fichiers copiés, au lieu de copier les fichiers.

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.

En plus des paramètres énumérés ci-dessus, cette tâche hérite des paramètres de la classe TaskExtension, qui hérite elle-même de la classe Task. Pour obtenir la liste de ces paramètres supplémentaires et de leurs descriptions, consultez Classe TaskExtension Base.

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>

Voir aussi

Concepts

Tâches MSBuild

Autres ressources

Référence des tâches MSBuild