Udostępnij za pośrednictwem


WriteLinesToFile — zadanie

Zapisuje ścieżki określonych elementów do określonego pliku tekstowego.

Parametry zadania

W poniższej tabeli opisano parametry WriteLinestoFile zadania.

Parametr Opis
File Wymagany parametr interfejsu ITaskItem.

Określa plik do zapisania elementów.
Lines Opcjonalny ITaskItem[] parametr.

Określa elementy do zapisu w pliku. Wartość domyślna to pusta lista.
Overwrite Opcjonalny Boolean parametr.

Jeśli truezadanie zastępuje dowolną istniejącą zawartość w pliku. Wartość domyślna to false.
Encoding Opcjonalny String parametr.

Wybiera kodowanie znaków, na przykład "Unicode". Wartość domyślna to UTF-8. Zobacz też Encoding.
WriteOnlyWhenDifferent Opcjonalny Boolean parametr.

Jeśli trueplik docelowy zostanie określony, jeśli istnieje, najpierw zostanie odczytany w celu porównania z tym, co zostałoby zapisane przez zadanie. Jeśli plik jest identyczny, plik nie jest zapisywany na dysku, a sygnatura czasowa zostanie zachowana. Wartość domyślna to false.

Uwagi

Jeśli Overwrite parametr ma truewartość , tworzy nowy plik, zapisz zawartość w pliku, a następnie zamyka plik. Jeśli plik docelowy już istnieje, zostanie zastąpiony. Jeśli Overwrite parametr ma falsewartość , dołącza zawartość do pliku, tworząc plik docelowy, jeśli jeszcze nie istnieje.

Oprócz parametrów wymienionych powyżej to zadanie dziedziczy parametry z TaskExtension klasy, która sama dziedziczy z Task klasy. Aby uzyskać listę tych dodatkowych parametrów i ich opisy, zobacz TaskExtension, klasa bazowa.

Przykład

W poniższym przykładzie użyto WriteLinesToFile zadania do zapisania ścieżek elementów w kolekcji elementów do MyItems pliku określonego MyTextFile przez kolekcję elementów.

<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>

W tym przykładzie używamy właściwości z osadzonymi liniami, aby napisać plik tekstowy z wieloma wierszami. Jeśli wpis w pliku Lines zawiera osadzone znaki nowego wiersza, nowe wiersze zostaną uwzględnione w pliku wyjściowym. W ten sposób można odwoływać się do właściwości wielowierszowych.

<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>

Zobacz też