Share via


WriteLinesToFile 작업

지정된 항목의 경로를 지정된 텍스트 파일에 씁니다.

작업 매개 변수

다음 표에서는 WriteLinestoFile 작업의 매개 변수에 대해 설명합니다.

매개 변수 Description
File 필수 ITaskItem 매개 변수입니다.

항목을 쓸 파일을 지정합니다.
Lines 선택적 ITaskItem[] 매개 변수입니다.

파일에 쓸 항목을 지정합니다. 기본값은 빈 목록입니다.
Overwrite 선택적 Boolean 매개 변수입니다.

true인 경우 작업에서 파일의 모든 기존 내용을 덮어씁니다. 기본값은 false입니다.
Encoding 선택적 String 매개 변수입니다.

문자 인코딩을 선택합니다(예: "Unicode"). 기본값은 UTF-8입니다. Encoding을 참조하세요.
WriteOnlyWhenDifferent 선택적 Boolean 매개 변수입니다.

true이면, 지정한 대상 파일(있는 경우)을 먼저 읽고 작업에서 기록했어야 하는 내용과 비교합니다. 동일한 경우 파일이 디스크에 기록되지 않고 타임스탬프가 유지됩니다. 기본값은 false입니다.

설명

Overwritetrue인 경우 새 파일을 만들고 파일에 내용을 쓴 다음 파일을 닫습니다. 대상 파일이 이미 있으면 덮어씁니다. Overwritefalse인 경우 콘텐츠를 파일에 추가합니다. 대상 파일이 아직 없으면 만듭니다.

이 작업은 위에 나와 있는 매개 변수 외에 Task 클래스에서 직접 상속하는 TaskExtension 클래스의 매개 변수도 상속합니다. 이러한 추가 매개 변수 및 해당 설명이 포함된 목록은 TaskExtension 기본 클래스를 참조하세요.

예시

다음 예제에서는 WriteLinesToFile 작업을 사용하여 MyItems 항목 컬렉션의 항목 경로를 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>

이 예제에서는 줄 바꿈이 포함된 속성을 사용하여 여러 줄에서 텍스트 파일을 작성합니다. 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>

참고 항목