Share via


WriteLinesToFile (tarea)

Escribe las rutas de acceso de los elementos especificados en el archivo de texto especificado.

Parámetros de tareas

En la siguiente tabla se describen los parámetros de la tarea WriteLinestoFile .

Parámetro Descripción
File Parámetro ITaskItem requerido.

Especifica el archivo en el que se escriben los elementos.
Lines Parámetro ITaskItem[] opcional.

Especifica los elementos que se van a escribir en el archivo. El valor predeterminado es la lista vacía.
Overwrite Parámetro Boolean opcional.

Si es true, la tarea sobrescribe cualquier contenido existente en el archivo. El valor predeterminado es false.
Encoding Parámetro String opcional.

Selecciona la codificación de caracteres, por ejemplo, "Unicode". El valor predeterminado es UTF-8. Vea también Encoding.
WriteOnlyWhenDifferent Parámetro Boolean opcional.

Si true, el archivo de destino especificado, si existe, se leerá en primer lugar para hacer una comparación con lo que habría escrito la tarea. Si el resultado de la comparación es idéntico, el archivo no se escribe en disco y la marca de tiempo se conservará. El valor predeterminado es false.

Comentarios

Si Overwrite es true, crea un archivo, escribe el contenido en el archivo y después lo cierra. Si el archivo de destino ya existe, se sobrescribe. Si Overwrite es false, anexa el contenido al archivo y crea el archivo de destino si aún no existe.

Además de los parámetros mencionados anteriormente, esta tarea hereda los parámetros de la clase TaskExtension, que a su vez hereda de la clase Task. Para obtener una lista de estos parámetros adicionales y sus descripciones, consulte TaskExtension base class.

Ejemplo

En el ejemplo siguiente se usa la tarea WriteLinesToFile para escribir las rutas de acceso de los elementos de la colección de elementos MyItems en el archivo especificado por la colección de elementos 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>

En este ejemplo se usa una propiedad con nuevas líneas insertadas para escribir un archivo de texto con varias líneas. Si una entrada en Lines ha insertado caracteres de nueva línea, las nuevas líneas se incluirán en el archivo de salida. De este modo, puede hacer referencia a las propiedades de varias líneas.

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

Vea también