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>