2009-04-22 77 views
20

我有以下msbuild腳本將整個DeploymentDirectory複製到VersionSpecificDirectory。下面是摘錄:如何使用msbuild複製任務指定文件夾結構

<CreateItem Include="$(DeploymentDirectory)/**/*.*" > 
    <Output ItemName="AllDeploymentFilesToCopy" TaskParameter="Include" /> 
</CreateItem> 
<Copy SourceFiles="@(AllDeploymentFilesToCopy)" 
     DestinationFiles="@(AllDeploymentFilesToCopy->'$(VersionSpecificDirectory)\%(RecursiveDir)%(Filename)%(Extension)')" /> 

將腳本是什麼如何複製DeploymentDirectory而不是目錄本身的所有文件?

更新:我試着改變斜槓的方向是一個反斜槓,問題依然存在。

另一個更新:這與msbuild代碼無關。我的問題中的代碼和答案中的代碼都可以正常工作。

回答

33

試試這個:

<ItemGroup> 
    <MySourceFiles Include="c:\MySourceTree\**\*.*"/> 
</ItemGroup> 

<Target Name="CopyFiles"> 
    <Copy 
     SourceFiles="@(MySourceFiles)" 
     DestinationFiles="@(MySourceFiles->'c:\MyDestinationTree\%(RecursiveDir)%(Filename)%(Extension)')" 
    /> 
</Target> 

MSDN

相關問題