无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 35000|回复: 259
打印 上一主题 下一主题

[原创] 【20250804】便捷右键菜单:7z极限解压缩

    [复制链接]
跳转到指定楼层
#
发表于 2023-10-7 17:04:00 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
本帖最后由 BEIKING 于 2025-8-4 14:37 编辑



【包含功能】
  ① 转换7z文件为自解压程序
  ② 提取可解压文档的内部图片
  ③ 智能解压到文件夹
  ④ 7z极限压缩 (常规压缩、LZMA、LZMA2、LZMA2 BCJ2)
  ⑤ 按分卷压缩为7z
  ⑥ 压缩为zip

【脚本设置】
Set "ImgExt=*.emf *.wmf *.jpg *.jpeg *.jfif *.jpe *.png *.bmp *.dib *.rle *.gif *.emz *.wmz *.pcz *.tif *.tiff *.eps *.pct *.pict *.wpg" :: 提取图片过滤字符串
Set "DocExt=.docx .xlsx .pptx .ofd .chm" :: 支持提取图片的文档格式
Set "SdcExt=7z rar rar5" :: 支持获取根列表的压缩格式

【使用方法】
*** 不支持带 % 路径 ***

方法一、安装系统右键菜单
双击“7z极限压缩.bat”添加系统右键菜单
再次双击“7z极限压缩.bat”删除系统右键菜单

方法二、通过命令行参数调用,可集成到第三方管理器
注意事项:
  下文提到的“带双引号路径”,就算是路径没含空格也必须带上双引号
   <> 为必选参数 | [] 为可选参数
  “压缩等级”可选范围:0 1 3 5 7 9
  “字典大小”可选范围:64m 96m 128m 192m 256m 384m 512m 768m ...

① 转换7z文件为自解压程序:
7z极限压缩.bat MakeSfx "命令行窗口标题" "带双引号的7z文件绝对路径"
例子:
  7z极限压缩.bat MakeSfx "7z转换自解压程序" "C:\Test\file.7z"

② 提取可解压文档的内部图片
7z极限压缩.bat ExtrImg "带双引号的可以解压文档绝对路径"
例子:
  7z极限压缩.bat ExtrImg "C:\Test\file1.docx"

③ 智能解压到文件夹:
7z极限压缩.bat <SmartDc|StDcDel> <Judge|MkDir> "命令行窗口标题" "带双引号的解压文件绝对路径" ["带双引号的解压绝对路径"]
  SmartDc -> 智能解压到文件夹
  StDcDel -> 智能解压到文件夹成功后,删除源文件
  Judge   -> 通过获取压缩包根路径列表,判断是否需要新建文件夹解压
  MkDir   -> 预先解压到当前临时文件夹,再判断是否自动移出
  "带双引号的解压绝对路径" 非必填,若不指定则解压到压缩文件的当前路径
例子:
  7z极限压缩.bat SmartDc Judge "智能解压到文件夹" "C:\Test\file.7z"
  7z极限压缩.bat SmartDc Judge "智能解压到文件夹" "C:\Test\file.7z" "C:\Users\Administrator\Desktop"

④ 解压到文件夹:
7z极限压缩.bat <Extract|ExtrDel> "命令行窗口标题" "带双引号的解压文件绝对路径" ["Desktop"|"ArchDir"|"带双引号的解压绝对路径"]
  Extract -> 解压到文件夹
  ExtrDel -> 解压到文件夹成功后,删除源文件
  Desktop -> 表示解压到当前用户桌面
  ArchDir -> 表示解压到[压缩包名称]文件夹
例子:
  7z极限压缩.bat Extract "解压到当前文件夹" "C:\Test\file.7z"
  7z极限压缩.bat Extract "解压到[压缩包]文件夹" "C:\Test\file.7z" "ArchDir"
  7z极限压缩.bat Extract "解压到桌面文件夹" "C:\Test\file.7z" "C:\Users\Administrator\Desktop"

⑤ 常规压缩(不含目录):
7z极限压缩.bat UltiCom NoDir "命令行窗口标题" "压缩等级[0 1 3 5 7 9]" "带双引号的文件夹绝对路径"
例子:
  7z极限压缩.bat UltiCom NoDir "GUI设置:9-极限压缩 不含目录" "9" "C:\Test"

⑥ 常规压缩:
7z极限压缩.bat UltiCom General "命令行窗口标题" "压缩等级[0 1 3 5 7 9]" "带双引号的第一个压缩对象绝对路径" ["第二个对象(可以是相对路径也可以是绝对路径)" ...]
7z极限压缩.bat UltiCom General "命令行窗口标题" "压缩等级[0 1 3 5 7 9]" "带双引号的生成文件绝对路径.[-out]!" "第一个对象(可以是相对路径也可以是绝对路径)" ["第二个对象(可以是相对路径也可以是绝对路径)" ...]
例子:
  7z极限压缩.bat UltiCom General "GUI设置:9-极限压缩" "9" "C:\Test"
  7z极限压缩.bat UltiCom General "GUI设置:9-极限压缩" "9" "C:\Test\file1.txt" "file2.txt" "file3.txt"
  7z极限压缩.bat UltiCom General "GUI设置:9-极限压缩" "9" "C:\Test\生成文件.7z.[-out]!" "file1.txt" "file2.txt" "file3.txt"

⑦ LZMA 算法极限压缩:
7z极限压缩.bat UltiCom LZMA "命令行窗口标题" "字典大小" "带双引号的第一个压缩对象绝对路径" ["第二个对象(可以是相对路径也可以是绝对路径)" ...]
7z极限压缩.bat UltiCom LZMA "命令行窗口标题" "字典大小" "带双引号的生成文件绝对路径.[-out]!" "第一个对象(可以是相对路径也可以是绝对路径)" ["第二个对象(可以是相对路径也可以是绝对路径)" ...]
例子:
  7z极限压缩.bat UltiCom LZMA "单线程 LZMA 128M" "128m" "C:\Test"
  7z极限压缩.bat UltiCom LZMA "单线程 LZMA 128M" "128m" "C:\Test\file1.txt" "file2.txt" "file3.txt"
  7z极限压缩.bat UltiCom LZMA "单线程 LZMA 128M" "128m" "C:\Test\生成文件.7z.[-out]!" "file1.txt" "file2.txt" "file3.txt"

⑧ LZMA2 算法极限压缩:
7z极限压缩.bat UltiCom LZMA2 "命令行窗口标题" "字典大小" "带双引号的第一个压缩对象绝对路径" ["第二个对象(可以是相对路径也可以是绝对路径)" ...]
7z极限压缩.bat UltiCom LZMA2 "命令行窗口标题" "字典大小" "带双引号的生成文件绝对路径.[-out]!" "第一个对象(可以是相对路径也可以是绝对路径)" ["第二个对象(可以是相对路径也可以是绝对路径)" ...]
例子:
  7z极限压缩.bat UltiCom LZMA2 "多线程 LZMA2 128M" "128m" "C:\Test"
  7z极限压缩.bat UltiCom LZMA2 "多线程 LZMA2 128M" "128m" "C:\Test\file1.txt" "file2.txt" "file3.txt"
  7z极限压缩.bat UltiCom LZMA2 "多线程 LZMA2 128M" "128m" "C:\Test\生成文件.7z.[-out]!" "file1.txt" "file2.txt" "file3.txt"

⑨ LZMA2 BCJ2 算法极限压缩:
7z极限压缩.bat UltiCom LBCJ2 "命令行窗口标题" "字典大小" "带双引号的第一个压缩对象绝对路径" ["第二个对象(可以是相对路径也可以是绝对路径)" ...]
7z极限压缩.bat UltiCom LBCJ2 "命令行窗口标题" "字典大小" "带双引号的生成文件绝对路径.[-out]!" "第一个对象(可以是相对路径也可以是绝对路径)" ["第二个对象(可以是相对路径也可以是绝对路径)" ...]
例子:
  7z极限压缩.bat UltiCom LBCJ2 "多线程 LZMA2 128M f=BCJ2" "128m" "C:\Test"
  7z极限压缩.bat UltiCom LBCJ2 "多线程 LZMA2 128M f=BCJ2" "128m" "C:\Test\file1.txt" "file2.txt" "file3.txt"
  7z极限压缩.bat UltiCom LBCJ2 "多线程 LZMA2 128M f=BCJ2" "128m" "C:\Test\生成文件.7z.[-out]!" "file1.txt" "file2.txt" "file3.txt"

⑩ 按分卷压缩为7z:
7z极限压缩.bat UltiCom Split "命令行窗口标题" "压缩等级[0 1 3 5 7 9]|分卷大小" "带双引号的第一个压缩对象绝对路径" ["第二个对象(可以是相对路径也可以是绝对路径)" ...]
7z极限压缩.bat UltiCom Split "命令行窗口标题" "压缩等级[0 1 3 5 7 9]|分卷大小" "带双引号的生成文件绝对路径.[-out]!" "第一个对象(可以是相对路径也可以是绝对路径)" ["第二个对象(可以是相对路径也可以是绝对路径)" ...]
例子:
  7z极限压缩.bat UltiCom Split "按 500MB 分卷压缩为7z" "7|500m" "C:\Test"
  7z极限压缩.bat UltiCom Split "按 500MB 分卷压缩为7z" "7|500m" "C:\Test\file1.txt" "file2.txt" "file3.txt"
  7z极限压缩.bat UltiCom Split "按 500MB 分卷压缩为7z" "7|500m" "C:\Test\生成文件.7z.[-out]!" "file1.txt" "file2.txt" "file3.txt"

⑾ 压缩为zip:
7z极限压缩.bat UltiCom ZIP "命令行窗口标题" "压缩等级[0 1 3 5 7 9]|压缩算法[Deflate Deflate64]" "带双引号的第一个压缩对象绝对路径" ["第二个对象(可以是相对路径也可以是绝对路径)" ...]
7z极限压缩.bat UltiCom ZIP "命令行窗口标题" "压缩等级[0 1 3 5 7 9]|压缩算法[Deflate Deflate64]" "带双引号的生成文件绝对路径.[-out]!" "第一个对象(可以是相对路径也可以是绝对路径)" ["第二个对象(可以是相对路径也可以是绝对路径)" ...]
例子:
  7z极限压缩.bat UltiCom ZIP "最高等级压缩为zip" "9|Deflate" "C:\Test"
  7z极限压缩.bat UltiCom ZIP "最高等级压缩为zip" "9|Deflate" "C:\Test\file1.txt" "file2.txt" "file3.txt"
  7z极限压缩.bat UltiCom ZIP "最高等级压缩为zip" "9|Deflate" "C:\Test\生成文件.7z.[-out]!" "file1.txt" "file2.txt" "file3.txt"



【20231007 21:10】
增加功能:7z文件提取到当前位置

【20231008】
1)增加单文件压缩
2)完善 7z文件 -> 提取到当前文件夹,归纳到统一主菜单管理
3)支持设置统一压缩密码,在脚本23行(默认不开启,有需要自己手动开启)、
4)增加压缩项:7-最大压缩,9-极限压缩

【20231010】
1)实现需求:增加多文件选择,用父文件夹名字做压缩包名的压缩。
     父文件夹右键菜单 -> “不含目录” 压缩
2)调整菜单排版

【20231014】
1)小改动:压缩或解压操作结束,CMD窗口暂停3秒变色提示。用于某些情况压缩命令报错有时间看提示(例如:压缩所需内存不足)
2)版本分为:7z1900版 和 7z2301版

【20240516】
1)更新版本 7z2405

【20240529】
1)更新版本 7z2406

【20240610】
1)7z2406 v2 右键菜单增加,7z压缩包转换为自解压exe程序。

【20240621】
1)更新版本 7z2407

【20240814】
1)更新版本 7z2408

【20241204】
1)更新版本 7z2409

【20250419】
重写脚本:
1)增加7z智能解压、提取文档图片、按分卷压缩、压缩为zip
2)7z智能解压,可以无视压缩包目录结构,如果是零散文件,则会创建根文件夹存放解压文件
3)增加命令行参数调用

第三方资管调用效果


【20250419】
智能解压改为通过外置获取压缩包全列表去重根级后再判断,
完善了一些逻辑,现在不会再产生临时解压文件夹

【20250530】
修正一处智能解压失败时处理,
命令行参数增加:StDcDel、ExtrDel  解压完成后删除源文件

【20250713】
1)更新版本 7z2500

【20250804】
1)更新版本 7z2501


链接: https://pan.baidu.com/s/1BF4mGpPUiEbK7X9NBeGF-g?pwd=wqkr
提取码: wqkr

点评

大佬,请把你哪超级菜单分享一下  发表于 2023-10-8 15:31

评分

参与人数 6无忧币 +30 收起 理由
2010wukong + 5 很给力!
wawakuliao + 5 赞一个!
tse000 + 5 赞一个!
slyneo + 5 很给力!
huyadong + 5 赞一个!
1801403 + 5 大佬,请把你哪超级菜单分享一下。

查看全部评分

246#
发表于 2025-9-15 09:57:21 | 只看该作者
谢谢分享
回复

使用道具 举报

245#
发表于 2025-8-7 18:32:55 | 只看该作者
感谢您的分享!
回复

使用道具 举报

244#
发表于 2025-8-7 15:04:35 | 只看该作者
BEIKING 发表于 2025-8-7 13:47
不用去管 SdcExt 参数,现在估计用不到,以前是因为我没用外置程序 list 去获取压缩包列表,只通过命令行 ...

好的,感谢
回复

使用道具 举报

243#
 楼主| 发表于 2025-8-7 13:47:06 | 只看该作者
nbcsi 发表于 2025-8-7 11:26
感谢大佬付出,现提点不成熟建议:

1、SdcExt=  能否将常用压缩文件格式加入?如zip:方便使用第三方文 ...

不用去管 SdcExt 参数,现在估计用不到,以前是因为我没用外置程序 list 去获取压缩包列表,只通过命令行受限才需要判断。后面新版不需要这个参数了。

另外我这个工具更多的目的是为了方便压缩打包,所以用的是官方编译7z,,你自己有需要其他版本只要命令行参数支持,是可以直接替换的,但我不确定。因为我只验证了官方的

点评

好的,感谢  详情 回复 发表于 2025-8-7 15:04
回复

使用道具 举报

242#
发表于 2025-8-7 12:47:23 来自手机 | 只看该作者
感谢分享
回复

使用道具 举报

241#
发表于 2025-8-7 12:19:56 来自手机 | 只看该作者
2012z 发表于 2025-8-7 12:18
演示图里 超级菜单  这个彩蛋也共享下
麻烦了楼主

找到了 链接:
提取码: wtfe
回复

使用道具 举报

240#
发表于 2025-8-7 12:18:21 来自手机 | 只看该作者
演示图里 超级菜单  这个彩蛋也共享下
麻烦了楼主

点评

找到了 链接: 提取码: wtfe  详情 回复 发表于 2025-8-7 12:19
回复

使用道具 举报

239#
发表于 2025-8-7 11:26:31 | 只看该作者
感谢大佬付出,现提点不成熟建议:

1、SdcExt=  能否将常用压缩文件格式加入?如zip:方便使用第三方文件管理器的人,如TC

2、建议将ht   t  ps://github.com/mcmilk/7-Zip-zstd/releases/里的code加入使本工具支持更多压缩格式

可能是我使用方法不当!感谢你的持续更新!!

点评

不用去管 SdcExt 参数,现在估计用不到,以前是因为我没用外置程序 list 去获取压缩包列表,只通过命令行受限才需要判断。后面新版不需要这个参数了。 另外我这个工具更多的目的是为了方便压缩打包,所以用的是官  详情 回复 发表于 2025-8-7 13:47
回复

使用道具 举报

238#
发表于 2025-8-4 14:54:08 | 只看该作者
谢谢分享
回复

使用道具 举报

237#
 楼主| 发表于 2025-8-4 14:37:31 | 只看该作者
【20250804】
1)更新版本 7z2501
回复

使用道具 举报

236#
发表于 2025-7-28 21:39:38 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

235#
发表于 2025-7-27 13:41:13 | 只看该作者
谢谢分享
回复

使用道具 举报

234#
发表于 2025-7-27 12:53:10 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

233#
发表于 2025-7-27 11:45:30 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

232#
发表于 2025-7-25 19:14:28 | 只看该作者
感谢分享~
回复

使用道具 举报

231#
发表于 2025-7-25 19:01:49 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

230#
发表于 2025-7-25 18:53:06 | 只看该作者
下来试试如何
回复

使用道具 举报

229#
发表于 2025-7-25 16:07:07 | 只看该作者
谢谢分享!
回复

使用道具 举报

228#
发表于 2025-7-15 07:22:13 | 只看该作者
谢楼主分享
回复

使用道具 举报

227#
发表于 2025-7-15 06:31:56 | 只看该作者
BEIKING 发表于 2025-7-14 08:44
你也要说下是咋操作的呀?
打开什么闪退,怎么操作的

修好了,是我自己cmd有问题
回复

使用道具 举报

226#
发表于 2025-7-14 17:44:03 | 只看该作者
感谢持续更新
回复

使用道具 举报

225#
发表于 2025-7-14 16:30:38 来自手机 | 只看该作者
谢谢分享
回复

使用道具 举报

224#
发表于 2025-7-14 16:00:19 | 只看该作者
感谢分享更新
回复

使用道具 举报

223#
发表于 2025-7-14 10:19:21 | 只看该作者
tse000 发表于 2025-7-7 21:35
大佬,7-Zip更新25.00了

第一时间安装了,可惜的是,7-Zip 25.00 仍然没有支持win11的新型右键菜单,7-Zip 子菜单仍然要到“显示更多选项”里面去找。
回复

使用道具 举报

222#
 楼主| 发表于 2025-7-14 09:45:57 | 只看该作者
本帖最后由 BEIKING 于 2025-7-14 09:47 编辑
chsh02 发表于 2025-7-14 08:55
压缩能不能加密码

可以,在脚本第34行
原文:
:: Set "pass=压缩密码"&                         :: 设置统一解压缩密码,本机解压无需密码 (不支持字符 " % ^ & | < >)

启用压缩密码,取消前面的第一个 :: ,压缩密码改为你自己的密码,注意第二个 :: 后备注的不能用的字符
修改:
Set "pass=你的密码"&                         :: 设置统一解压缩密码,本机解压无需密码 (不支持字符 " % ^ & | < >)
回复

使用道具 举报

221#
发表于 2025-7-14 08:55:45 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

220#
 楼主| 发表于 2025-7-14 08:44:35 | 只看该作者
kuye606 发表于 2025-7-14 06:49
打开闪退是什么原因

你也要说下是咋操作的呀?
打开什么闪退,怎么操作的
回复

使用道具 举报

219#
发表于 2025-7-14 07:53:37 | 只看该作者
感谢费分享
回复

使用道具 举报

218#
发表于 2025-7-14 07:43:40 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

217#
发表于 2025-7-14 06:49:44 来自手机 | 只看该作者
打开闪退是什么原因

点评

你也要说下是咋操作的呀? 打开什么闪退,怎么操作的  详情 回复 发表于 2025-7-14 08:44
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-10-10 02:01

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表