Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

BatchUnZip

简单快捷的批量压缩包解压程序

设计功能

一个小程序,主要目的是快速方便地大批量处理包含很多压缩包的文件夹。

比如,下载和整理文件资源、大量处理带有目录结构的归档、解压还原各种网盘下载的资源等等。

该程序可以自动扫描文件夹下的常见压缩包,并调用7-zip命令行进行快速解压,然后删除原始压缩包。

文件依赖

该程序需要依赖多个外部文件才能工作,文件放置路径如下:

currentFolder
├─ BatchUnZip.exe # 主程序
├─ BatchUnZip.pswd # (可选)密码表文档
├─ 7z.exe # 7-zip主程序
├─ 7z.dll # 7-zip运行库
├─ UNISFindPswd.exe # UNIS密码查找引擎

使用方法

BatchUnZip <Directory> [Directory] ...

支持特性

  • 自动处理zip、001、7z、rar、tar、xz(等)压缩包并正确删除zip、rar、7z对应的三种分卷形式。

  • 自动检测密码,需要密码时首先自动查找已有密码源,如果不存在密码则用户需手动输入。密码错误不影响解压其他压缩包,且不会误删此带密码压缩包。

支持自动从已保存密码中进行测试,也支持通过UNISFindPswd在线查找密码。成功解压后,新增的密码可追加保存到密码列表中。

密码列表一行一个密码,用户可自行批量添加常用密码。

  • 根据7-zip命令行exitcode判断解压情况,遇到文件损坏、格式未知压缩包可避免误删。

  • (代码)支持快速地继续新增压缩包后缀格式,如果需要解压其他类型压缩包如gz、iso、vhd(x)等,直接加入ArchiveScanner.SupportedExtensions即可

  • 支持循环解压压缩包,直至嵌套压缩包都被解压彻底。(支持自动跳过解压失败的压缩包,避免误删/死循环。)

  • 支持基本异常中断处理,因损坏未解压完整的文件会存储到.dec_temp_{UnixUtc}临时文件夹而不污染真正输出;解压失败的文件列表将写入BatchUnZip.Failed.txt以供人工检查。

当前缺陷

  • 解压完后复原文件夹路径时,如果被杀毒软件/其他扫描程序异常占用,文件夹移动可能会失败。(但会在同名文件夹中保留.dec_temp_{UnixUtc}为名的文件可供手动检查)

  • 复杂交互(包括密码、文件覆盖)已采用基本防御处理,但不保证覆盖一切情况。未覆盖的情况可能会因为7-zip交互阻塞控制台而出现假死。(请使用任务管理器结束进程,手动处理该压缩包)

About

简单快捷的批量压缩包解压程序

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages