Skip to content

v2.0.0

Latest

Choose a tag to compare

@github-actions github-actions released this 25 Oct 17:31
2aca018

DeepUnzip v2.0.0

发布日期 / Release date:2026-10-25

2.0.0 是一次大版本更新:项目改名为深度解压(DeepUnzip),解压流程重写为按轮处理的“工作池”,散落在不同压缩包里的分卷也能自动凑齐;终端输出全面改版,支持五种语言,并新增 --json 输出和退出码。

Version 2.0.0 is a major release. The project is renamed DeepUnzip, extraction is rebuilt as a work pool that runs in rounds and assembles volumes spread across different archives, the terminal output is redesigned and speaks five languages, and --json output and exit codes are added.

改名 / Renamed

Complex Unzip Tool v2(复杂解压工具 v2)改名为深度解压(DeepUnzip)。新旧名称对照如下,GitHub 上的旧链接会自动跳转到新仓库。

Complex Unzip Tool v2 is now DeepUnzip. The old and new names are below; old GitHub links redirect to the new repository.

项目 / Item 旧 / Old 新 / New
产品名 / Product 复杂解压工具 v2 / Complex Unzip Tool v2 深度解压 / DeepUnzip
程序 / Executable complex-unzip-tool-v2.exe deepunzip.exe
发布包 / Release assets complex-unzip-tool-v2-v<版本>-<平台> deepunzip-v<版本>-<平台>
源码运行的命令 / Commands from source main、cuz deepunzip、dz
仓库 / Repository rozx/Complex-unzip-tool-v2 rozx/DeepUnzip

新功能 / New features

  • 分卷可以来自任何地方:散落在输入文件夹的不同子文件夹里,或者分别装在别的压缩包里,程序都会找齐再解压。查找从第一卷所在的文件夹开始,逐层向外扩大,最远到输入文件夹。

  • 压缩包里解出来的伪装文件名也会还原,例如 movie.7z.001删掉 还原为 movie.7z.001。

  • 新的终端输出:每处理完一个压缩包输出一行,实时显示整体进度和当前压缩包的进度;结束时用一棵来源树列出每个分卷来自哪个压缩包、原来叫什么名字,再给出摘要。输出被重定向时打印同样的内容,但没有动画。

  • 输出支持简体中文、繁体中文、英文、日文和韩文,默认跟随系统语言,可用环境变量 DEEPUNZIP_LANG(zh、zh-TW、en、ja、ko)指定。

  • --json:标准输出只写逐行的 JSON 事件,最后一行总是 summary,方便脚本读取;这一模式下不会询问任何问题。

  • 退出码:0 全部解开,1 有解不开的项目(对应的原文件已保留),2 无法运行(找不到 7-Zip、路径都不存在或程序出错)。

  • 程序换上了新图标:从纸箱里探出头的猫。

  • Volumes can come from anywhere: spread over subfolders of the input folder or packed inside other archives, they are gathered before extraction. The search starts in the folder of the first volume and widens outward, up to the input folder.

  • Disguised names of files extracted from archives are restored too, for example movie.7z.001删掉 becomes movie.7z.001.

  • New terminal output: one line per finished archive, live progress for the whole run and for the current archive, and at the end a lineage tree that shows which archive each volume came from and its original name, followed by a summary. Redirected output gets the same content without animation.

  • The output is available in Simplified Chinese, Traditional Chinese, English, Japanese and Korean. It follows the system language; set DEEPUNZIP_LANG (zh, zh-TW, en, ja, ko) to choose.

  • --json: standard output carries only JSON event lines, always ending with summary, for scripts. It never asks anything.

  • Exit codes: 0 everything extracted, 1 some items could not be extracted (their originals are kept), 2 could not run (7-Zip missing, no given path exists, or an error).

  • A new program icon: a cat peeking out of a cardboard box.

改进 / Improvements

  • 处理不了的东西不会丢:从压缩包里解出、但处理不了的东西(打不开或密码错误的内层压缩包、凑不齐的分卷)会放进 unzipped/,输入文件夹里原有的留在原处,结束时都会写明原因和位置。

  • 新学到的密码会让之前因密码失败的分卷组再试一次。

  • 同一组分卷里内容完全相同的重复分卷视为已使用,不会妨碍解压。

  • 标准输入不是终端时(例如计划任务或 < NUL)不再询问,按默认选择继续。

  • 输出中不会出现密码本身,只写「密码 #2」这样的序号。

  • Nothing is lost: anything extracted from an archive but not usable (an inner archive that won't open or has an unknown password, an incomplete set of volumes) goes to unzipped/, files already in the input folder stay where they are, and the end of the run says why and where for each.

  • A newly learned password retries the multipart sets that failed on a password.

  • Byte-identical duplicate volumes of a set count as used and don't block extraction.

  • When standard input is not a terminal (a scheduled task, < NUL), DeepUnzip no longer asks and takes the default.

  • The output never shows a password, only its position, such as "password #2".

修复 / Bug fixes

  • 修复了分卷分别装在不同压缩包里、且其中一卷名字被伪装时无法解压的问题。

  • 修复了单个分卷(例如只有 X.7z.001)被当成普通文件处理的问题。

  • Fixed sets whose volumes sit in different archives, one of them with a disguised name, failing to extract.

  • Fixed a lone volume (such as X.7z.001 on its own) being treated as a regular file.

下载 / Downloads

平台 / Platform 文件 / File
Windows x64 deepunzip-v2.0.0-windows-x64.zip
macOS Intel deepunzip-v2.0.0-macos-x64.tar.gz
macOS Apple Silicon deepunzip-v2.0.0-macos-arm64.tar.gz
Linux x64 deepunzip-v2.0.0-linux-x64.tar.gz
Linux ARM64 deepunzip-v2.0.0-linux-arm64.tar.gz

SHA256SUMS 列出各文件的校验和。 / SHA256SUMS lists the checksum of every file.

升级说明 / Upgrade notes

  • 程序和发布包改名为 deepunzip(见上方对照表)。从源码运行时,main 和 cuz 在 2.x 中仍可使用,但会提示改用 deepunzip 或 dz,将在 3.0.0 移除。

  • 多个输入路径位于不同文件夹时,每个文件夹各自输出到自己的 unzipped/;以前全部写到第一个路径的 unzipped/。

  • 原文件在整个运行结束后才统一删除,并且只删除解出内容全部处理成功的;解出内容为空的压缩包会保留原文件。输入文件夹里的普通文件不会被动。

  • 退出码有变化:有解不开的项目时,以前退出码是 0,现在是 1;找不到 7-Zip 时,以前是 1,现在是 2。

  • 输出不再中英并列,每次运行只用一种语言,跟随系统语言或 DEEPUNZIP_LANG。输出的措辞和排版都变了,解析旧输出文本的脚本请改用 --json。

  • 运行中断后,下次运行会自动把为拼合分卷而挪走的原始分卷放回原处;伪装文件名的还原仍会先询问。1.3.x 留下的 .unzip-rename-history.tmp.json 仍能识别和恢复。

  • 发布说明统一放在仓库的 docs/releaseNotes/v<版本>.md,GitHub Release 的正文直接取自该文件。

  • The program and release packages are renamed deepunzip (see the table above). When running from source, main and cuz still work in 2.x but print a notice to use deepunzip or dz; they are removed in 3.0.0.

  • With input paths in several folders, each folder gets its own unzipped/; previously everything went to the first path's unzipped/.

  • Originals are deleted together at the end of the run, and only when everything extracted from them succeeded; an archive that extracts to nothing keeps its original. Regular files in the input folder are never touched.

  • Exit codes changed: a run with items that could not be extracted used to exit 0 and now exits 1; a missing 7-Zip used to exit 1 and now exits 2.

  • The output is no longer English and Chinese side by side; each run uses one language, following the system or DEEPUNZIP_LANG. Wording and layout changed, so scripts that parsed the old text should use --json.

  • After an interrupted run, the next run puts source volumes that were moved for assembly back automatically; reverting disguised-name renames still asks first. .unzip-rename-history.tmp.json files left by 1.3.x are still recognized and recovered.

  • Release notes now live in the repository at docs/releaseNotes/v<version>.md, and the GitHub release text is taken from that file.

已知问题与待验收 / Known issues and pending verification

  • 日文和韩文的输出文字与 README 译文尚待母语者校对。

  • macOS 和 Linux 版本只经过发布流程中的自动构建和冒烟测试,尚未在实机上手动验收。

  • 程序没有代码签名,macOS 版也没有公证:Windows 可能显示 SmartScreen 提示,macOS 需要先执行 xattr -d com.apple.quarantine ./deepunzip。

  • The Japanese and Korean output texts and README translations still need a native-speaker review.

  • The macOS and Linux builds are only covered by the automated build and smoke tests of the release workflow; they have not been checked by hand on real machines.

  • The program is not code-signed and the macOS builds are not notarized: Windows may show a SmartScreen warning, and on macOS run xattr -d com.apple.quarantine ./deepunzip first.