在乞讨时,我想说明我的目标是什么 -创建拆分(非)压缩存档,同时保持目录结构完整。
我检查了几个库,但 SevenZipSharp 似乎最接近我的做法。
现在我有这样的代码:
public static void PackFiles()
{
string dll = @"C:\Users\MyUsername\Downloads\7zip32b\7z.dll";
SevenZipCompressor.SetLibraryPath(dll);
SevenZipCompressor compressor = new SevenZipCompressor();
compressor.ArchiveFormat = OutArchiveFormat.SevenZip;
compressor.CompressionMode = CompressionMode.Create;
compressor.TempFolderPath = System.IO.Path.GetTempPath();
compressor.VolumeSize = 1 * 1024 * 1024;
//compressor.CompressDirectory(defaultContentFolder, (defaultReadyZipFolder + zipName + ".zip"));
// THIS ONE IS WORKING, BUT PACKS WHOLE FOLDER INSIDE ARCHIVE..
string[] files = Directory.GetFiles(defaultContentFolder,"*.*",SearchOption.AllDirectories);
compressor.CompressFiles(@"C:\Users\MyUsername\Packed\ArchiveName", files);
Console.WriteLine("Zipped!");
}
所以,正如我上面评论的那样。使用时,compressor.CompressDirectory
我设法压缩了整个文件夹,然后将其打包在另一个被拆分的存档中。一点都不好看……
所以我想给他 dir 中的文件列表以将它们打包为一个存档,但它不起作用。
当我调试时,编译器只是执行CompressFiles
方法,但根本不输入代码的其他部分,比如它被跳过或什么...文件参数确实包含文件路径数组,所以那部分可以吗?
有什么想法吗?或者可能有不同的解决方案来检查?
提前致谢!