我正在编写一个 MSBuild 目标/xml 配置文件。
假设我的项目源文件夹中有两个要复制的文件夹。我只想复制这些文件夹(及其内容),而忽略其他文件夹。
下面的规范是复制正确的文件,但是它们都只是转储到一个文件夹中。两个顶级文件夹(bin 和 obj)丢失,它们的内容只是合并到一个文件夹中。
我想基本上将这两个文件夹复制到新的顶级文件夹中,就像它们及其内容一样。
脚本
<Target Name="Package" DependsOnTargets="Build">
<Message Text="Copying."></Message>
<ItemGroup>
<PackagedFiles Include="$(PipelineFolder)MyFolder\bin\**;
$(PipelineFolder)MyFolder\obj\**" />
</ItemGroup>
<MakeDir Directories="$(PipelineFolder)CopiedFolder" />
<Copy SourceFiles="@(PackagedFiles)" DestinationFolder="$(PipelineFolder)CopiedFolder\%(RecursiveDir)%(Filename)%(Extension)" />
</Target>
什么是仅复制顶级文件夹的最简单方法,我猜 PackagedFiles 中的通配符指向这些文件夹中的所有内容。我不能从工作目录上方的文件夹中执行此操作,因为我将复制所有其他文件夹(不仅仅是我想要的文件夹,bin 和 obj)。
谢谢。