MSBuild扩展包压缩文件夹和子文件夹

时间:2010-05-25 17:18:04

标签: msbuild msbuildcommunitytasks

我必须压缩我的文件夹和子文件夹使用MSbuild,我正在查看MSBuild扩展包,并尝试了这个

 <ItemGroup>
  <ZipFiles Include="\Test\Web\**\*.*" >
    <Group>Release</Group>
  </ZipFiles>
 </ItemGroup>



 <MSBuild.ExtensionPack.Compression.Zip TaskAction="Create" CompressFiles="@(ZipFiles)" ZipFileName="$(WorkingDir)%(ZipFiles.Group).zip"/>

当我这样做时,它只是将所有文件添加到root,而不是将其添加到zip文件中的特定子文件夹中。

我遗失了一些东西,请有人帮忙。

3 个答案:

答案 0 :(得分:11)

您需要提供RemoveRoot属性,此属性设置要从压缩文件路径中删除的根。 (More info

<ItemGroup>
  <ZipFiles Include="\Test\Web\**\*.*" >
    <Group>Release</Group>
  </ZipFiles>
</ItemGroup>

<MSBuild.ExtensionPack.Compression.Zip 
                        TaskAction="Create" 
                        CompressFiles="@(ZipFiles)" 
                        ZipFileName="$(WorkingDir)%(ZipFiles.Group).zip"
                        RemoveRoot="\Test\Web"/>

答案 1 :(得分:1)

我认为你需要为RemoveRoot属性设置一个值。

答案 2 :(得分:0)

因为,没有人提前回答,我继续使用7 Zip,命令行实用工具来做到这一点。