在SevenZipSharp中设置压缩根文件夹



我试图更改现有的压缩工具。压缩工具目前使用SharpZipLib。我必须转换它,以便它使用SevenZipSharp。当使用SharpZipLib进行压缩时,我可以更改zip的根目录,并且在使用SevenZipSharp时,我希望保留这个根目录。

因此,如果我有一个绝对结构

C:/
├──root/
└── folders/
└── files/
├── text1.txt
├── text2.txt
├── text3.txt
├── text4.txt
└── subfiles/
└── text5.txt

然后我的SevenSharpZip将创建一个包含以下内容的zip:

text1.txt
text2.txt
text3.txt
text4.txt
└── subfiles/
└── text5.txt  

SharpZipLib将创建以下

root/
└── folders/
└── files/
├── text1.txt
├── text2.txt
├── text3.txt
├── text4.txt
└── subfiles/
└── text5.txt

有没有可能为SevenZipSharp设置一个根,这样我的两个Zip将具有相同的内部结构?我还没有找到相应的设置来更改它。IncludeEmptyDirectoryPreserveDirectoryRootDirectoryStructure没有得到我需要的结果。

我找到了答案。为了设置根文件夹,我不得不使用方法
public void CompressFiles(string archiveName, int commonRootLength, params string[] fileFullNames)

我们有commonRootLength。这是我们共同根源的起点。对于我上面的例子,这意味着公共根在第一个"/"之后开始这意味着CCD_ 5参数需要为3。

相关内容

  • 没有找到相关文章

最新更新