假设我有以下文件夹结构
app
-->folder1
----->subfolder2
----->subfolder3
-->folder2
----->subfolder4
-->folder3
我想使用 Copy
任务将folder2
(包括子文件夹)和subfolder3
复制到我的输出中。
我怎样才能做到这一点?顺便说一句,我正在使用MSBuild进行PHP网站,在实际情况中,我想复制的子文件夹和特定文件夹还有很多。
创建包含folder2
和subfolder3
的物料组,然后使用copy
任务。
例如:
<ItemGroup>
<sourceFiles Include="app'folder1'subfolder3'**'*.*" />
<sourceFiles Include="app'folder2'**'*.* />
</ItemGroup>
<Copy SourceFiles="@(sourceFiles)" DestinationFolder="c:'output'%(RecursiveDir)"></Copy>
你可以试试RoboCopy:
<UsingTask AssemblyFile="MSBuild.ExtensionPack.dll" TaskName="MSBuild.ExtensionPack.FileSystem.RoboCopy"/>
<MSBuild.ExtensionPack.FileSystem.RoboCopy
Source="$(YourSourcePath)"
Destination="$(YourOutputPath)"
Files="*.*"
Options="/MIR"/>
/MIR
选项复制整个文件夹树,包括空文件夹
机器人复制参考:
- http://technet.microsoft.com/en-us/library/cc733145(WS.10).aspx
MSBuild 扩展包