我试图更改现有的压缩工具。压缩工具目前使用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将具有相同的内部结构?我还没有找到相应的设置来更改它。IncludeEmptyDirectory
、PreserveDirectoryRoot
和DirectoryStructure
没有得到我需要的结果。
public void CompressFiles(string archiveName, int commonRootLength, params string[] fileFullNames)
我们有commonRootLength
。这是我们共同根源的起点。对于我上面的例子,这意味着公共根在第一个"/"之后开始这意味着CCD_ 5参数需要为3。