Tugas WriteLinesToFile
Tulis jalur dari item yang ditentukan ke file teks yang ditentukan.
Parameter tugas
Tabel berikut ini menjelaskan parameter tugas WriteLinestoFile
.
Parameter | Deskripsi |
---|---|
File |
Parameter ITaskItem wajib. Tentukan file untuk menulis item. |
Lines |
Parameter ITaskItem[] opsional.Tentukan item untuk menulis file. Defaultnya adalah daftar kosong. |
Overwrite |
Parameter Boolean opsional.Jika true , tugas menimpa konten yang ada dalam file. Defaultnya adalah false . |
Encoding |
Parameter String opsional.Pilih pengodean karakter, misalnya, "Unicode". Defaultnya adalah UTF-8. Lihat juga Encoding. |
WriteOnlyWhenDifferent |
Parameter Boolean opsional.Jika true , file target yang ditentukan, jika ada, akan dibaca terlebih dahulu untuk membandingkan dengan apa yang akan ditulis tugas. Jika identik, file tidak ditulis ke disk dan tanda waktu akan dipertahankan. Defaultnya adalah false . |
Keterangan
Jika Overwrite
adalah true
, membuat file baru, tulis konten ke file, lalu tutup file. Jika file sudah ada, file akan ditimpa. Jika Overwrite
adalah false
, tambahkan konten ke file, buat file target jika belum ada.
Selain parameter yang tercantum di atas, tugas ini mewarisi parameter dari kelas TaskExtension, yang mewarisi sendiri dari kelas Task. Untuk daftar parameter tambahan ini dan deskripsinya, lihat kelas dasar TaskExtension.
Contoh
Contoh berikut menggunakan WriteLinesToFile
tugas untuk menulis jalur item dalam MyItems
koleksi item ke file yang ditentukan oleh MyTextFile
koleksi item.
<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>
Dalam contoh ini kita menggunakan properti dengan baris baru yang disematkan untuk menulis file teks dengan beberapa baris. Jika entri dalam Lines
telah menyematkan karakter baris baru, baris baru akan disertakan dalam file output. Dengan cara ini, Anda dapat mereferensikan properti multi-baris.
<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>