MSBuild复制特定文件和文件夹

时间:2012-04-14 07:38:15

标签: php tfs msbuild tfsbuild

假设我有以下文件夹结构

app
-->folder1
----->subfolder2
----->subfolder3
-->folder2
----->subfolder4
-->folder3

我想使用Copy任务将folder2(包括子文件夹)和subfolder3复制到我的输出中。

我怎样才能实现这一目标?顺便说一句,我正在使用MSBuild进行PHP网站,在实际情况下,我想复制更多子文件夹和特定文件夹。

2 个答案:

答案 0 :(得分:3)

在其中创建一个包含folder2subfolder3的项目组,然后使用copy任务。

例如:

<ItemGroup>
  <sourceFiles Include="app\folder1\subfolder3\**\*.*" />
  <sourceFiles Include="app\folder2\**\*.* />
</ItemGroup>

<Copy SourceFiles="@(sourceFiles)" DestinationFolder="c:\output\%(RecursiveDir)"></Copy>

答案 1 :(得分:1)

您可以尝试RoboCopy:

<UsingTask AssemblyFile="MSBuild.ExtensionPack.dll" TaskName="MSBuild.ExtensionPack.FileSystem.RoboCopy"/>

<MSBuild.ExtensionPack.FileSystem.RoboCopy 
  Source="$(YourSourcePath)" 
  Destination="$(YourOutputPath)" 
  Files="*.*"
  Options="/MIR"/>

/MIR选项复制整个文件夹树,包括空文件夹

Robocopy参考:

MSBuild extensions pack