語言

WriteLinesToFile 工作

將所指定項目的路徑寫入至指定的文字檔。

工作參數

下表說明 WriteLinestoFile 工作的參數。

參數 描述
File 必要的 ITaskItem 參數。

指定要寫入項目的檔案。
Lines 選擇性的 ITaskItem[] 參數。

指定要寫入至檔案的項目。 預設值為空白清單。
Overwrite 選擇性的 Boolean 參數。

如果 true,則工作會覆寫檔案中的任何現有內容。 預設值為 false。
Encoding 選擇性的 String 參數。

選取字元編碼 (例如,"Unicode")。 預設值為 UTF-8。 請參閱 Encoding。
WriteOnlyWhenDifferent 選擇性的 Boolean 參數。

若為 true,則會先讀取指定的目標檔案 (如果存在),以便與已經寫入的工作進行比較。 如果相同,則不會將檔案寫入到磁碟,而且將會保留時間戳記。 預設值為 false。

備註

如果 Overwrite 是 true,會建立新檔案,並將內容寫入至檔案,然後關閉檔案。 如果檔案已經存在,則會覆寫該檔案。 如果 Overwrite 是 false,會將內容附加至檔案,如果目標檔案不存在,則會建立該檔案。

除了上述所列的參數,此項工作還會繼承 TaskExtension 類別中的參數,而該類別本身又繼承 Task 類別。 如需這些其他參數的清單及其描述,請參閱 TaskExtension 基底類別。

範例

下列範例會使用 WriteLinesToFile 工作將 MyItems 項目集合中的項目路徑寫入至 MyTextFile 項目集合所指定的檔案。

<Project>

    <ItemGroup>
        <MyTextFile Include="Items.txt"/>
        <MyItems Include="*.cs"/>
    </ItemGroup>

    <Target Name="WriteToFile">
        <WriteLinesToFile
            File="@(MyTextFile)"
            Lines="@(MyItems)"
            Overwrite="true"
            Encoding="Unicode"/>
    </Target>

</Project>

在此範例中,我們使用內嵌新行字元的屬性來撰寫多行文字檔案。 如果 Lines 中的項目內嵌新行字元,則輸出檔案中將會包含新行。 如此一來,就可以參考多行屬性。

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

另請參閱