代码之家  ›  专栏  ›  技术社区  ›  Manoj Talreja

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

  •  1
  • Manoj Talreja  · 技术社区  · 14 年前

    我必须使用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"/>
    

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

    我找不到东西了,有人能帮忙吗?

    3 回复  |  直到 12 年前
        1
  •  11
  •   Michael Teper Ryan Lee    12 年前

    你需要提供 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"/>
    
        2
  •  1
  •   Rick D    14 年前

    我相信您需要为removeboot属性设置一个值。

        3
  •  0
  •   Manoj Talreja    14 年前

    因为没人提前回答,所以我继续使用命令行实用程序7zip。