방법: 항목 목록을 쉼표로 구분하여 표시How to: Display an Item List Separated with Commas

Microsoft Build EngineMicrosoft Build Engine (MSBuildMSBuild)에서 항목 목록을 사용할 때 쉽게 읽을 수 있는 방식으로 해당 항목 목록의 내용을 표시하는 데 유용합니다.When you work with item lists in Microsoft Build EngineMicrosoft Build Engine (MSBuildMSBuild), it is sometimes useful to display the contents of those item lists in a way that is easy to read. 또는 특별한 구분 기호 문자열로 구분된 항목의 목록을 사용하는 작업이 있을 수 있습니다.Or, you might have a task that takes a list of items separated with a special separator string. 이러한 모든 경우에 항목 목록에 대한 구분 기호 문자열을 지정할 수 있습니다.In both of these cases, you can specify a separator string for an item list.

목록에서 항목을 쉼표로 구분Separating Items in a List with Commas

기본적으로 MSBuildMSBuild는 세미콜론을 사용하여 목록에서 항목을 구분합니다.By default, MSBuildMSBuild uses semicolons to separate items in a list. 예를 들어 다음 값을 가진 Message 요소가 있습니다.For example, consider a Message element with the following value:

<Message Text="This is my list of TXT files: @(TXTFile)"/>

@(TXTFile) 항목 목록에 App1.txt, App2.txt 및 App3.txt 항목이 포함되는 경우 다음과 같은 메시지가 표시됩니다.When the @(TXTFile) item list contains the items App1.txt, App2.txt, and App3.txt, the message is:

This is my list of TXT files: App1.txt;App2.txt;App3.txt

기본 동작을 변경하려는 경우 고유한 구분 기호를 지정할 수 있습니다.If you want to change the default behavior, you can specify your own separator. 항목 목록 구분 기호를 지정하는 구문은 다음과 같습니다.The syntax for specifying an item list separator is:

@(ItemListName, '<separator>')

구분 기호는 단일 문자 또는 문자열이며 작은따옴표로 묶어야 합니다.The separator can be either a single character or a string and must be enclosed in single quotes.

항목 사이에 쉼표 및 공백을 삽입하려면To insert a comma and a space between items

  • 다음과 유사한 항목 표기법을 사용합니다.Use item notation similar to the following:

    @(TXTFile, ', ')

예제Example

이 예제에서 Exec 작업은 findstr 도구를 실행하여 Phrases.txt 파일에 지정된 텍스트 문자열을 찾습니다.In this example, Exec task runs the findstr tool to find specified text strings in the file, Phrases.txt. findstr 명령에서 리터럴 검색 문자열은 /c: 스위치로 나타나므로 항목 구분 기호 /c:@(Phrase) 항목 목록에 있는 항목 사이에 삽입됩니다.In the findstr command, literal search strings are indicated by the /c: switch, so the item separator, /c: is inserted between items in the @(Phrase) item list.

이 예제에서 해당하는 명령줄 명령은 다음과 같습니다.For this example, the equivalent command-line command is:

findstr /i /c:hello /c:world /c:msbuild phrases.txt

<Project DefaultTargets = "Find"  
    xmlns="http://schemas.microsoft.com/developer/msbuild/2003" >  

    <ItemGroup>  
        <Phrase Include="hello"/>  
        <Phrase Include="world"/>  
        <Phrase Include="msbuild"/>  
    </ItemGroup>  

    <Target Name = "Find">  
        <!-- Find some strings in a file -->  
        <Exec Command="findstr /i /c:@(Phrase, ' /c:') phrases.txt"/>  
    </Target>  
</Project>  

참고 항목See Also

MSBuild 참조 MSBuild Reference
항목Items