How to create copying items from property values?

Posted by Nam Gi VU on Stack Overflow See other posts from Stack Overflow or by Nam Gi VU
Published on 2010-05-18T10:02:44Z Indexed on 2010/05/18 12:10 UTC
Read the original article Hit count: 240

Filed under:

Let's say I have a list of sub paths such as

 <PropertyGroup>
   <subPaths>$(path1)\**\*; $(path2)\**\*; $(path3)\file3.txt; </subPaths>
</PropertyGroup>

I want to copy these files from folder A to folder B (surely we already have all the sub folders/files in A). What I try was:

<Target Name="Replace" DependsOnTargets="Replace_Init; Replace_Copy1Path">
</Target>

<Target Name="Replace_Init">
  <PropertyGroup>
    <subPaths>$(path1)\**\*; $(path2)\**\*; $(path3)\file3.txt; </subPaths>
  </PropertyGroup>
  <ItemGroup>
    <subPathItems Include="$(subPathFiles.Split(';'))" />
  </ItemGroup>
</Target>

<Target Name="Replace_Copy1Path" Outputs="%(subPathItems.Identity)">
  <PropertyGroup>
    <src>$(folderA)\%(subPathItems.Identity)</src>
    <dest>$(folderB)\%(subPathItems.Identity)</dest>
  </PropertyGroup>
  <Copy SourceFiles="$(src)" DestinationFiles="$(dest)" />
</Target>

But the Copy task didn't work. It doesn't translate the *** to files. What did I do wrong? Please help!

© Stack Overflow or respective owner

Related posts about msbuild