怎么用DotNetZip解压指定的文件夹?

M_Uchi 2017-03-25 09:45:13
想用DotNetZip解压二级目录下的一个文件夹,可是不管怎么写都会连同一级目录解压出来。

using (ZipFile zip = ZipFile.Read(@"D:\test\1.zip"))
{
var selection = (from e in zip.Entries
where (e.FileName).StartsWith("1/2/")
select e);
foreach (var e in selection)
{
e.Extract(zipFilePath, ExtractExistingFileAction.OverwriteSilently);
}
}





所以要怎么实现解压出来的东西只有二级目录而不会带有一级目录?
...全文
203 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
threenewbee 2017-03-27
  • 打赏
  • 举报
回复
Extract函数有没有别的重载可以设置路径的,再不行,解压完了file.move下
M_Uchi 2017-03-27
  • 打赏
  • 举报
回复
解决了 直接对FileName进行字符串截取 把一级目录那段给删了就行了
正怒月神 2017-03-27
  • 打赏
  • 举报
回复
没有用过,看看文档中会不会有相关的重载函数
M_Uchi 2017-03-26
  • 打赏
  • 举报
回复
引用 1 楼 xuggzu 的回复:
没用过,查查extract函数的参数设置呗
extract参数都是关于覆盖的设置 倒是有个FlattenFoldersOnExtract的值 但是这样干脆连文件夹都没了 直接提取所有文件 完全不知道该怎么做了
xuggzu 2017-03-25
  • 打赏
  • 举报
回复
没用过,查查extract函数的参数设置呗

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧