WriteLinesToFile – úloha
Zapíše cesty zadaných položek do zadaného textového souboru.
Parametry úkolu
Následující tabulka popisuje parametry WriteLinestoFile
úlohy.
Parametr | Popis |
---|---|
File |
Požadovaný parametr ITaskItem. Určuje soubor pro zápis položek do. |
Lines |
Volitelný ITaskItem[] parametr.Určuje položky, které se mají do souboru zapisovat. Výchozí hodnota je prázdný seznam. |
Overwrite |
Volitelný Boolean parametr.Pokud true úkol přepíše veškerý existující obsah v souboru. Výchozí hodnota je false . |
Encoding |
Volitelný String parametr.Vybere kódování znaků, například Unicode. Výchozí hodnota je UTF-8. Viz také Encoding. |
WriteOnlyWhenDifferent |
Volitelný Boolean parametr.Pokud true zadaný cílový soubor, pokud existuje, přečte se nejprve, aby se srovnal s tím, co by úkol napsal. Pokud je stejný, soubor není zapsán na disk a časové razítko se zachovají. Výchozí hodnota je false . |
Poznámky
Pokud Overwrite
ano true
, vytvoří nový soubor, zapište obsah do souboru a pak soubor zavřete. Pokud cílový soubor již existuje, přepíše se. Pokud Overwrite
je , false
připojí obsah k souboru, vytvoření cílového souboru, pokud ještě neexistuje.
Kromě výše uvedených parametrů tato úloha dědí parametry z TaskExtension třídy, která sama dědí z Task třídy. Seznam těchto dalších parametrů a jejich popisů naleznete v tématu TaskExtension základní třída.
Příklad
Následující příklad používá WriteLinesToFile
úlohu k zápisu cest položek v MyItems
kolekci položek do souboru určeného MyTextFile
kolekcí položek.
<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>
V tomto příkladu používáme vlastnost s vloženými novými řádky k zápisu textového souboru s více řádky. Pokud má položka vložené Lines
znaky nového řádku, budou nové řádky zahrnuty do výstupního souboru. Tímto způsobem můžete odkazovat na víceřádkové vlastnosti.
<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>