Copy Task

 

Pour obtenir la dernière documentation sur Visual Studio 2017, consultez Documentation Visual Studio 2017.

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

Le tableau suivant décrit les paramètres de la tâche Copy.

ParamètreDescription
CopiedFilesParamètre de sortie ITaskItem[] facultatif.

Contient les éléments dont la copie a réussi.
DestinationFilesParamè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.
DestinationFolderParamè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éé.
OverwriteReadOnlyFilesParamètre Boolean facultatif.

Écrase les fichiers même s'ils sont marqués comme fichiers en lecture seule.
RetriesParamè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.
RetryDelayMillisecondsParamè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.
SkipUnchangedFilesParamè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. Note: 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.
SourceFilesParamètre ITaskItem[] obligatoire.

Spécifie les fichiers à copier.
UseHardlinksIfPossibleParamè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.

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 TaskExtension Base Class.

L'exemple suivant copie les éléments de la collection d'éléments MySourceFiles dans le dossier c:\MyProject\Destination.

<Project xmlns="http://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="http://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>  

Tasks
Task Reference

Afficher: