智能解压工具 v1.1:自动合并分卷、循环解压多层加密包、密码自动尝试、重复文件自动剔除,单exe免安装,Win10/11 可用。 收藏主题

1

主题

6

回帖

1158

积分

注册会员

Rank: 2

积分
1158
发表于 2026-8-19 15:31:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 sz333 于 2026-8-21 23:44 编辑

[智能解压工具 v1.1]Created by sz333

面向分卷、多层嵌套、加密资源包的自动解压工具。

能力:

分卷自动合并:partN / .NNN / .zNN / .rNN 命名均可识别
按文件头魔数识别真实格式,自动改后缀循环解压(最多 30 层)
密码按序自动尝试(默认 猫里奥小新 / 小猫喝奶啤 / dpsvip,可自定义)
解压后剔除完全重复文件;同名不同大小自动重命名
成功后清理原始分卷与中间压缩包
形态:单 exe,内嵌 7-Zip,免安装,Windows 10/11 x64。

声明:本软件完全免费。如通过购买获得,请立即退款。无需赞赏,愿天下开源。
8.19更新:
1.优化了文件剔除逻辑
2.应用图标改为大肥鱼。
8.20更新
════════════════════════════════════════
  sz333解压工具 更新日志
════════════════════════════════════════

[v1.2]更新内容

◆ 重要修复
  · 修复解压"深层目录/超长路径"资源包时报
    "路径或文件名太长"、输出文件缺失的问题
    (改用长路径直通 + 自动截断清洗,实测 600+
    字符深层路径正常解压、文件完整)

◆ 界面优化
  · 初始窗口加大、行距与按钮间距整体放宽,
    125%~200% 系统缩放自适应
  · 深色主题全面完善:列表/表头/输入框/按钮
    全跟随换色,白色主题干净清爽
  · 按钮文字不再被裁切

◆ 功能增强
  · 支持直接把文件拖进窗口添加
  · 解压前磁盘空间预检查,空间不足提前警告
  · 自动剔除完全重复的文件(每层预处理)
  · 文件名/路径自动清洗(非法字符、超长路径)
  · 解压完成:提示音 + 托盘通知 + 一键打开输出文件夹
  · 可选"完成后自动关机"(带确认窗口)
  · 双进度条:任务总进度 + 当前文件实时进度

◆ 其他
  · 密码试错静默无感,命中即解
  · 密码保存在本机注册表,无外置文件
  · 单 exe 免安装,Win10/11 直接运行

  完全免费 · 如通过购买获得请立即退款
  无需赞赏 · 愿天下开源   —— sz333
════════════════════════════════════════
════════════════════════════════════════  sz333解压工具 更新日志(对比老 v1.2)════════════════════════════════════════◆ 解压更智能  · 工作流模式:自动记录解压链路(每层格式/伪装格式/密码),    下次同来源按链路一键解压,跳过探测与试错  · 密码错误即时处理:全部密码失败时弹窗输入正确密码,自动重试  · 密码列表可拖动排序,顺序即尝试顺序;删除/清空有确认◆ 界面更清爽  · 选项卡结构:解压 / 工作流 / 设置,无菜单栏  · 设置独立成选项卡,密码管理移到主界面  · 文件列表区域放大,工作流说明不再遮挡◆ 体验更顺手  · 中途取消立即终止当前任务,原始文件保留  · 默认不再预置密码,全部自配;保存位置可选(注册表/密码列表.txt)  · 默认托盘通知不弹窗,完成不打扰

sz333解压工具_v1.6.zip

1.45 MB, 阅读权限: 10

回复

使用道具 举报

1

主题

6

回帖

1158

积分

注册会员

Rank: 2

积分
1158
 楼主| 发表于 2026-8-19 15:45:54 | 显示全部楼层
更新:1.优化了文件剔除逻辑

sz333解压工具_v1.1.zip

1.27 MB

回复

使用道具 举报

0

主题

4

回帖

4199

积分

注册会员

Rank: 2

积分
4199
发表于 2026-8-19 16:28:10 来自手机 | 显示全部楼层
标记mark一下
回复

使用道具 举报

0

主题

8

回帖

2万

积分

中级会员

Rank: 3Rank: 3

积分
21469
发表于 2026-8-19 18:37:25 | 显示全部楼层
试一下
回复

使用道具 举报

0

主题

55

回帖

1万

积分

中级会员

Rank: 3Rank: 3

积分
17208
发表于 2026-8-19 20:37:43 | 显示全部楼层
试了的兄弟们说说怎么样?
回复

使用道具 举报

0

主题

1

回帖

1万

积分

中级会员

Rank: 3Rank: 3

积分
13582
发表于 2026-8-19 21:06:30 | 显示全部楼层
标记mark
回复

使用道具 举报

0

主题

71

回帖

2万

积分

中级会员

Rank: 3Rank: 3

积分
25618
发表于 2026-8-19 21:48:30 来自手机 | 显示全部楼层
去我的收藏夹里吃灰吧
回复

使用道具 举报

1

主题

2

回帖

3万

积分

中级会员

Rank: 3Rank: 3

积分
32528
发表于 2026-8-19 23:57:12 | 显示全部楼层
标记mark
回复

使用道具 举报

1

主题

20

回帖

1万

积分

中级会员

Rank: 3Rank: 3

积分
14496
发表于 2026-8-20 00:35:25 | 显示全部楼层
解压这块确实比较麻烦,这会是个很好很实用的工具,但是在测试的时候发现了点小问题。起因是看到说内置的7z,我就用站内光输不赢大佬的最新资源ntr猎人进行了测试,mp4转zip确实只能用winrar,解压过程没有问题但随后出现报错处理异常:指定的路径或文件名太长,或者两者都太长。完全限定文件名必须少于 260 个字符,并且目录名必须少于 248 个字符。
对比手动解压,输出的文件缺少了一些,有意思的是缺少了这部分nwjs.app的文件没有影响游戏的启动。

我是完全不懂任何相关知识的,所有认知全部来源于ai。询问deepseek得知问题在于解压完成后,UnpackCore.MoveToFinal 方法使用 .NET 的 Directory.Move / File.Move 将整个结果目录从临时目录移动到最终输出目录(源文件所在目录)。由于最终路径(源目录 + 压缩包内部深层目录)超过 Windows 传统 MAX_PATH(260 字符)限制,且 .NET 默认未启用长路径支持,Directory.Move / File.Move 直接抛出 IOException,导致移动中断,部分文件未能到达目标位置。

给出了解决方案但是我不能验证
核心思路:给所有传给文件系统 API 的路径添加 \\?\ 长路径前缀,绕过 260 字符限制。

1. 添加路径转换辅助方法
在 UnpackCore 类中添加:
private static string ToLongPath(string path)
{
    if (string.IsNullOrEmpty(path) || path.StartsWith(@"\\?\"))
        return path;
    return @"\\?\" + path;
}

2. 修改 MoveToFinal 方法
将原始方法替换为以下版本(注意先正常组合路径,最后统一添加前缀):
private static string MoveToFinal(string resultDir, string outputRoot, string baseName, ILog log)
{
    // 先组合目标路径(不包含前缀)
    string text = Path.Combine(outputRoot, baseName);
    int num = 2;
    while (Directory.Exists(ToLongPath(text)) || File.Exists(ToLongPath(text)))
    {
        text = Path.Combine(outputRoot, baseName + "_" + num);
        num++;
    }

    Directory.CreateDirectory(ToLongPath(outputRoot)); // 确保输出根存在

    if (File.Exists(ToLongPath(resultDir)))
    {
        Directory.CreateDirectory(ToLongPath(text));
        string text2 = Path.Combine(text, Path.GetFileName(resultDir));
        File.Move(ToLongPath(resultDir), ToLongPath(text2));
        log.Log("  📁 最终结果:" + text);
        return text;
    }

    string[] fileSystemEntries = Directory.GetFileSystemEntries(ToLongPath(resultDir));
    if (fileSystemEntries.Length == 1 && Directory.Exists(ToLongPath(fileSystemEntries[0])))
    {
        MoveDirectory(ToLongPath(fileSystemEntries[0]), ToLongPath(text));
    }
    else
    {
        MoveDirectory(ToLongPath(resultDir), ToLongPath(text));
    }

    log.Log("  📁 最终结果:" + text);
    return text;
}

3. 修改 MoveDirectory 和 CopyDirectory
public static void MoveDirectory(string src, string dst)
{
    src = ToLongPath(src);
    dst = ToLongPath(dst);
    try
    {
        Directory.Move(src, dst);
    }
    catch (IOException)
    {
        CopyDirectory(src, dst);
        Directory.Delete(src, true);
    }
}

private static void CopyDirectory(string src, string dst)
{
    src = ToLongPath(src);
    dst = ToLongPath(dst);
    Directory.CreateDirectory(dst);
    foreach (string text in Directory.GetDirectories(src, "*", SearchOption.AllDirectories))
    {
        Directory.CreateDirectory(ToLongPath(text.Replace(src, dst)));
    }
    foreach (string text2 in Directory.GetFiles(src, "*", SearchOption.AllDirectories))
    {
        File.Copy(text2, ToLongPath(text2.Replace(src, dst)), true);
    }
}

4. 同时处理其他文件枚举操作(可选但推荐)
CollectTree 和 Deduplicate 中也涉及目录遍历,虽然它们被 try-catch 包裹不会导致主流程崩溃,但可能静默漏掉长路径文件。若想彻底修复,需在这些方法中同样为路径添加 \\?\ 前缀,例如:
在 CollectTree 中递归调用时,对 root、返回的目录/文件路径统一加前缀。
在 Deduplicate 中,对 Directory.GetDirectories、Directory.GetFiles 的输入路径和结果路径加前缀。
不过,当前主要问题出在 MoveToFinal,先修改这部分即可解决“解压成功但移动失败导致文件缺失”的问题。

补充建议
应用程序清单:为了让 .NET 的内置 API 原生支持长路径,可以在 exe 中嵌入 app.manifest 并包含 <longPathAware>true</longPathAware>。但即使没有,使用 \\?\ 前缀也能绕过大部分限制。
异常处理:在 ProcessGroup 的 catch 中,可以考虑保留临时目录以便用户手动恢复,目前代码已经保留了临时目录,但提示不够友好。
用户侧临时方案:在修复版发布前,用户可以启用系统长路径支持(注册表 LongPathsEnabled=1 并重启),同时将压缩包和输出目录放在短路径(如 D:\1)下,可降低触发概率。

在ds这次升级之前有试过写一些简单的代码效果非常的差,对于以上内容我持观望态度,希望有大手子能帮到你。

点评

收到,会更新到持续可用的状态。今天会做个大更新解决一系列问题,比如我回家用自己电脑测试发现解压临时目录在c盘把我c盘干爆了,欢迎再试试  详情 回复 发表于 2026-8-20 08:22
回复

使用道具 举报

1

主题

6

回帖

1158

积分

注册会员

Rank: 2

积分
1158
 楼主| 发表于 2026-8-20 08:22:40 | 显示全部楼层
yoshiki 发表于 2026-8-20 00:35
解压这块确实比较麻烦,这会是个很好很实用的工具,但是在测试的时候发现了点小问题。起因是看到说内置的7z ...

收到,会更新到持续可用的状态。今天会做个大更新解决一系列问题,比如我回家用自己电脑测试发现解压临时目录在c盘把我c盘干爆了,欢迎再试试

点评

辛苦了感谢付出  详情 回复 发表于 2026-8-20 09:58
回复

使用道具 举报

1

主题

20

回帖

1万

积分

中级会员

Rank: 3Rank: 3

积分
14496
发表于 2026-8-20 09:58:34 | 显示全部楼层
sz333 发表于 2026-8-20 08:22
收到,会更新到持续可用的状态。今天会做个大更新解决一系列问题,比如我回家用自己电脑测试发现解压临时 ...

辛苦了感谢付出
回复

使用道具 举报

2

主题

1284

回帖

3万

积分

中级会员

Rank: 3Rank: 3

积分
30582
发表于 2026-8-20 10:27:30 | 显示全部楼层
感谢分享,6666666666666666666!!!
回复

使用道具 举报

0

主题

2

回帖

1万

积分

中级会员

Rank: 3Rank: 3

积分
10792
发表于 2026-8-20 19:03:09 | 显示全部楼层
一直都是无法发言,今天才知道未验证邮箱,特地验证来评论下。
首先非常感谢大佬无私的付出,分享确实能带来不少的愉快
但是还是小小的建议,如果说是开源,还是建议使用代码仓库进行公开,而不是只提供一个运行的exe。虽然说是开源,但是exe是打包编译后的产物,我们当然相信大佬的无私,而且也是ai开发的,所以只是小小建议。
另外,不瞒大佬说,我用codex开发了相似内容的,我的思路和大佬的有点不一样,这就说说我的思路吧:

2026-08-20_18-56-52.jpg

循环解压需要设置层数,检验文件头也需要读取验证,而且有些文件是伪装文件,并不是单独的改后缀就可以的。还有就是像这个网站的猫总,压缩包一大,程序难免会压力大。
所以我设计的解决方案是:两种模式并行,已知大佬模式根据大佬的压缩包名称进行识别模式,然后进入工作流模式,比如猫总的压缩包是数字.part1.rar,解压后得到数字.jpg,改名解压后得到rar,再解压后得到本体。软件匹配后,直接按照工作流直接解压。

Snipaste_编辑已知流程_2026-08-20_19-01-00.jpg

另一种模式就是类似大佬的智能解压模式,由软件识别文件头,然后尝试解压,并且可以由自己手动设置层数,达到层数则停止下探,若成功解压,则会提示记录工作流,让用户修改并保存当前工作流,然后下一次相同作者的压缩包可以直接按工作流直接解压,无需进入扫描过程。
另外,检测部分我是用三压缩引擎同步进行的探测,谁快用谁,7z虽然好用,但是在某些压缩格式兼容性并不好,不如用用户自己安装的压缩软件。也能避免深层目录和超长路径的问题。
再就是,密码和缓存,我还是建议设置成用户软件所在的文件夹,而不是注册表或者说c盘缓存。至少给用户自己选择的权力。
再就是多任务模式,软件最好支持多任务,这样设置一个主目录后,软件就可以自己解压并提取文件,删除缓存。很方便。

2026-08-20_18-59-59.jpg

小小建议 另外提供下思路,总之非常感谢大佬分享

点评

感谢建议。 1.代码仓库周六我会上传到github并更新楼层,只扔一个exe是为了方便大家使用,论坛只支持5MB的压缩包上传,也会继续根据大家的需要更新; 2.多任务、工作流、多压缩引擎我会尝试加上,深层目录和超长路径  详情 回复 发表于 2026-8-20 20:18
回复

使用道具 举报

1

主题

6

回帖

1158

积分

注册会员

Rank: 2

积分
1158
 楼主| 发表于 2026-8-20 20:18:58 | 显示全部楼层
一介撸夫 发表于 2026-8-20 19:03
一直都是无法发言,今天才知道未验证邮箱,特地验证来评论下。
首先非常感谢大佬无私的付出,分享确实能带 ...

感谢建议。
1.代码仓库周六我会上传到github并更新楼层,只扔一个exe是为了方便大家使用,论坛只支持5MB的压缩包上传,也会继续根据大家的需要更新;
2.多任务、工作流、多压缩引擎我会尝试加上,深层目录和超长路径的问题应该是1.2版本解决了;
3.初版dsh设计了单独的密码本,后面我反而去掉了。中间文件这些设置周六我也会加入,多保留用户的自由度;
4.其实还有更简便的方法,就是之前部署个系统环境变量winrar,然后直接在压缩包目录运行一个.bat(还是dsr1写的)也可以做到80%的功能。我发楼下。
p.s.我唯一的编程经验是大学里的76分的C++,能自己这样制造软件多少有点不真实,或者说我之前一直用的对话式AI让我没意识到现在AI发展的多么快。

点评

既然有编程经验,那我相信大佬肯定有一些基础的,所以一些原则,应该是知道的,我就不多卖弄了。 对于vibecoding,我建议大佬可以试试系统的软件开发流程,不用扣实现,这些dsh或者说codex都可以干,你需要的是需求  详情 回复 发表于 2026-8-20 20:45
回复

使用道具 举报

1

主题

6

回帖

1158

积分

注册会员

Rank: 2

积分
1158
 楼主| 发表于 2026-8-20 20:26:01 | 显示全部楼层
功能概述
本脚本用于批量处理当前文件夹内的所有文件(除自身外),执行两步操作:

强制重命名:将所有文件(不含文件夹)的后缀名改为 .rar;

自动解压:遍历所有 .rar 文件,使用预设的密码列表尝试解压,直至成功或全部密码失败。

自解压脚本.zip

3.49 KB

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|风花雪月 |网站地图

风花雪月