VC PlusPlus:MSBuild DirectoryName
概要
DirectoryNameはアイテムグループの中に記述できる特別なキーワードのひとつです。
<Project ...>
<ItemGroup>
<Text Include="doc\a.en.txt">
<LinkCompiled>True</LinkCompiled>
</Text>
<Text Include="doc\a.ja.txt">
<LinkCompiled>False</LinkCompiled>
</Text>
</ItemGroup>
<Target Name="MessageText" AfterTargets="Build">
<Message Text="@ (Text) = {@(Text->'%(Identity)'->DirectoryName())}" />
</Target>
</Project>
出力結果
@ (Text) = {C:\Users\(UserID)\source\repos\(ProjectName)\doc;C:\Users\(UserID)\source\repos\(ProjectName)\doc;}
アイテムに対するファイルが存在するとき、その絶対パスを取得できます。バッチになっている場合はセミコロンで接続されて表示されます。