我正在使用此代码使用 Ionic.Zip.dll
提取文件using(ZipFile zip = new ZipFile("E:\\Hello\\Hi\\Photos.zip"))
{
zip.ExtractAll("E:\\Hello\\Hi\\", ExtractExistingFileAction.DoNotOverWrite);
}
这样可以正常工作并将所有内容解压缩到:“E:\ Hello \ Hi \ Photos”文件夹,在其中创建另一个Photos文件夹。
此处photos.zip文件夹中的所有图像都被提取并保存在创建“照片”
的新文件夹中我希望所有这些都被提取到“E:\ Hello \ Hi \”而不是另一个Photos文件夹。
答案 0 :(得分:1)
using(ZipFile zip = new ZipFile("E:\\Hello\\Hi\\Photos.zip"))
{
zip.FlattenFoldersOnExtract = true;
zip.ExtractAll("E:\\Hello\\Hi\\", ExtractExistingFileAction.DoNotOverWrite);
}
尝试这样的事情,FlattenFoldersOnExtract将忽略zip中的任何可能的文件夹。
答案 1 :(得分:0)
试一试。
using(ZipFile zip = new ZipFile("E:\\Hello\\Hi\\Photos.zip"))
{
foreach (ZipEntry e in zip.SelectEntries("*.*"))
{
e.Extract("E:\\Hello\\Hi\\", ExtractExistingFileAction.DoNotOverWrite);
}
}