Tarefa WriteLinesToFile
Grava os caminhos dos itens especificados no arquivo de texto especificado.
Parâmetros de tarefa
A tabela a seguir descreve os parâmetros da tarefa WriteLinestoFile
.
Parâmetro | Descrição |
---|---|
File |
Parâmetro ITaskItem obrigatório. Especifica o arquivo no qual os itens serão gravados. |
Lines |
Parâmetro opcional ITaskItem[] .Especifica os itens a serem gravados no arquivo. O padrão é a lista vazia. |
Overwrite |
Parâmetro Boolean opcional.Se true , a tarefa substituirá todo o conteúdo existente no arquivo. O padrão é false . |
Encoding |
Parâmetro String opcional.Seleciona a codificação de caracteres, por exemplo, "Unicode". Padrão é UTF-8. Consulte também Encoding. |
WriteOnlyWhenDifferent |
Parâmetro Boolean opcional.Se true , o arquivo de destino especificado, se ele existir, será lido primeiro para comparar o que a tarefa teria gravado. Se idêntico, o arquivo não será gravado no disco, e o carimbo de data e hora será preservado. O padrão é false . |
Comentários
Se Overwrite
for true
, criará um novo arquivo, gravará os conteúdos nele e o fechará. Se o arquivo de destino já existir, ele será substituído. Se Overwrite
for false
, acrescentará os conteúdos ao arquivo, criando um arquivo de destino, caso ele ainda não exista.
Além dos parâmetros listados acima, essa tarefa herda parâmetros da classe TaskExtension, que herda da classe Task. Para obter uma lista desses parâmetros adicionais e suas descrições, confira Classe base TaskExtension.
Exemplo
O exemplo a seguir usa a tarefa WriteLinesToFile
para gravar os caminhos dos itens na coleção de itens MyItems
no arquivo especificado pela coleção de itens 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>
Neste exemplo, usamos uma propriedade com novas linhas inseridas para gravar um arquivo de texto com várias linhas. Se uma entrada em Lines
tiver caracteres de nova linha inseridos, as novas linhas serão incluídas no arquivo de saída. Dessa forma, você pode fazer referência a propriedades multilinha.
<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>