To examine what types of values the well-known metadata returns, take a look at the example below:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup> <PrjFile Include="Helloworld.proj" /> </ItemGroup> <Target Name="Well known metadata"> <Message Text="%40(PrjFile->'%25(Fullpath)'):@(PrjFile->'%(Fullpath)')"/> <Message Text="%40(PrjFile->'%25(Rootdir)'):@(PrjFile->'%(Rootdir)')"/> <Message Text="%40(PrjFile->'%25(Filename)'):@(PrjFile->'%(Filename)')"/> <Message Text="%40(PrjFile->'%25(Extension)'):@(PrjFile->'%(Extension)')"/> <Message Text="%40(PrjFile->'%25(RelativeDir)'):@(PrjFile->'%(RelativeDir)')"/> <Message Text="%40(PrjFile->'%25(Directory)'):@(PrjFile->'%(Directory)')"/> <Message Text="%40(PrjFile->'%25(RecursiveDir)'):@(PrjFile->'%(RecursiveDir)')"/> <Message Text="%40(PrjFile->'%25(Identity)'):@(PrjFile->'%(Identity)')"/> <Message Text="%40(PrjFile->'%25(ModifiedTime)'):@(PrjFile->'%(ModifiedTime)')"/> <Message Text="%40(PrjFile->'%25(CreatedTime)'):@(PrjFile->'%(CreatedTime)')"/> <Message Text="%40(PrjFile->'%25(AccessedTime)'):@(PrjFile->'%(AccessedTime)')"/> </Target> </Project>