MsBuild为列表中的每个项运行Exec

时间:2010-03-08 11:12:51

标签: msbuild

我正在尝试从文本文件加载文件名列表,然后为从文本文件中检索的每个条目运行Exec任务。

所以我有一个文件,我们称之为包含以下内容的SomeFile.txt:

FileA.file
FileB.file
FileC.file

我对此的MsBuild代码看起来像这样(不起作用:)

<Target Name="runScripts">  

    <ItemGroup>
        <scriptsFile Include="SomeFile.txt" />
    </ItemGroup>        

    <ReadLinesFromFile File="@(scriptsFile)">
        <Output TaskParameter="Lines" ItemName="scriptItems" />
    </ReadLinesFromFile>

    <Message Text="Running Exec for each entry..." />           
    <Exec Command="$(someCommand) %(scriptItems)" />

</Target>

这给了我一个错误,说我需要指定一个项目名称,但是如果我使用%(scriptItems.item)或%(itemname.scriptItems)之类的东西,则MsBuild只是放置一个空格而不是%(scriptItems)。

1 个答案:

答案 0 :(得分:29)

好的,我想通了

只需要使用

%(scriptItems.Identity)