WriteLinesToFile (tâche)

Écrit les chemins des éléments spécifiés dans le fichier texte spécifié.

Paramètres de tâche

Le tableau ci-dessous décrit les paramètres de la tâche WriteLinestoFile .

Paramètre Description
File Paramètre ITaskItem requis.

Spécifie le fichier où écrire les éléments.
Lines Paramètre ITaskItem[] facultatif.

Spécifie les éléments à écrire dans le fichier. La valeur par défaut est la liste vide.
Overwrite Paramètre Boolean facultatif.

Si true, remplace le contenu existant dans le fichier. La valeur par défaut est false.
Encoding Paramètre String facultatif.

Sélectionne l’encodage des caractères, par exemple « Unicode ». La valeur par défaut est UTF-8. Voir aussi Encoding.
WriteOnlyWhenDifferent Paramètre Boolean facultatif.

Si true, le fichier cible spécifié, existe, il sera lu en premier pour effectuer la comparaison avec ce que la tâche aurait écrit. Si les deux sont identiques, le fichier n’est pas enregistré sur le disque et l’horodatage est conservé. La valeur par défaut est false.

Notes

Si Overwrite est true, crée un fichier, écrit le contenu dans ce fichier, puis le ferme. Si le fichier cible existe déjà, il est remplacé. Si Overwrite est false, ajoute le contenu au fichier, en créant le fichier cible s’il n’existe pas.

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

Exemple

L’exemple suivant utilise la tâche WriteLinesToFile pour écrire les chemins des éléments de la collection d’éléments MyItems dans le fichier spécifié par la collection d’éléments MyTextFile.

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

    <ItemGroup>
        <MyTextFile Include="Items.txt"/>
        <MyItems Include="*.cs"/>
    </ItemGroup>

    <Target Name="WriteToFile">
        <WriteLinesToFile
            File="@(MyTextFile)"
            Lines="@(MyItems)"
            Overwrite="true"
            Encoding="Unicode"/>
    </Target>

</Project>

Dans cet exemple, nous utilisons une propriété avec des sauts de ligne incorporés pour écrire un fichier texte comportant plusieurs lignes. Si une entrée dans Lines comporte des caractères de saut de ligne incorporés, les nouvelles lignes figurent dans le fichier de sortie. De cette façon, vous pouvez référencer des propriétés multilignes.

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp2.1</TargetFramework>
  </PropertyGroup>

  <Target Name="WriteLaunchers" AfterTargets="CopyFilesToOutputDirectory">
      <PropertyGroup>
        <LauncherCmd>
@ECHO OFF
dotnet %~dp0$(AssemblyName).dll %*
        </LauncherCmd>
      </PropertyGroup>

      <WriteLinesToFile
        File="$(OutputPath)$(AssemblyName).cmd"
        Overwrite="true"
        Lines="$(LauncherCmd)" />
  </Target>
</Project>

Voir aussi