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 truezadaný 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 , falsepř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>

Viz také