找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 975|回复: 2

在Windows操作系统右键添加“文件CAB最大压缩”功能.BAT

[复制链接]
发表于 2025-12-15 18:15:40 | 显示全部楼层 |阅读模式
逛 PECMD.NET 发现一帖子很有意思,命令很实用,,
https://pecmd.net/thread-142.htm
makecab 系统自带的压缩命令很早就存在,
但碍于入门有些门槛,很少有普通人应用,
但在写命令和脚本的地方还是应用不少,,
最简单的用法就是 :makecab 文件 压缩包
顶多就是加多一个 /v3 参数 :makecab /v3 文件 压缩包
而解压也很简单 :Expand /f:* 压缩包 .\

在很多需要压缩的程序脚本里 这两条命令经常用到,,,
集成在系统右键上,安装原生系统还没安装压缩工具的时候,
完全可以当成压缩方法使用,不需要翻找压缩工具也可以正常压缩。

原贴楼主发的是注册表导出的 .reg 注册表文件,
需要保存成  xxx.reg 注册表文件然后才再导入
  1. Windows Registry Editor Version 5.00

  2. [HKEY_CLASSES_ROOT\*\shell\cabmade]
  3. @="CAB最大压缩"

  4. [HKEY_CLASSES_ROOT\*\shell\cabmade\command]
  5. @="makecab /v3 /D CompressionType=LZX /D CompressionMemory=21 "%1""
复制代码
鄙人现在完善改写REG 命令输入,适配BAT 脚本直接导入!
原楼主的命令里压缩包留空 会生成 原文件名最后一个字符变成下划线"_"
在注册表表达参数里无法像BAT一样单独表达文件名和后缀,
于是鄙人调用 cmd /c for 转化文件表达式,,
修改了获取过程出现空格文件名和路径的情况,,,
在回复原贴里 鄙人调用的是 系统 %Windir%\System32\shell32.dll图标文件里的第103个图标!
后来发现系统 %Windir%\System32\shell32.dll图标文件里的第278个图标 比较符合原系统压缩图标,
这里改成 278 。这些都是个人的喜好和看法而已,,,,

------------makecab命令右键---CAB最大压缩.BAT
  1. Reg add "HKEY_CLASSES_ROOT\*\Shell\CabMax" /v "MUIVerb" /t REG_SZ /d "CAB最大压缩" /f
  2. Reg add "HKEY_CLASSES_ROOT\*\Shell\CabMax" /v "icon" /t REG_SZ /d "%Windir%\System32\shell32.dll,278" /f
  3. Reg add "HKEY_CLASSES_ROOT\*\Shell\CabMax\command" /t REG_SZ /d "cmd /c for %%%%a in ("%%1" ) do ( makecab /v3 /D CompressionType=LZX /D CompressionMemory=21 %%%%a "%%%%~dpna.cab" )" /f
复制代码
原本还想再写个 右键集成在文件夹上,压缩整个文件夹的,但最近年底忙,改天再慢慢研究。。。。
发表于 2025-12-15 23:00:48 | 显示全部楼层
这个我早就整合到右键菜单中了!
  1. [Version]
  2. Signature="$WINDOWS NT$"

  3. [DefaultInstall]
  4. AddReg=添加注册表

  5. [添加注册表]
  6. HKCR,"txtfile\shell\压缩表(&F)\command",,0x20000,"MakeCAB.exe /D MaxDiskSize=4294967296 /D CompressionType=LZX /D CompressionMemory=21 /F ""%%1"""
复制代码
发表于 2025-12-15 23:04:32 | 显示全部楼层
[添加注册表] 还有:
HKCR,"*\shell\解压缩(.??&_)\command",,0x20000,"Expand.exe -r ""%%1"""
HKCR,"*\shell\压缩为(.??&_)\command",,0x20000,"MakeCAB.exe /D CompressionType=LZX /D CompressionMemory=21 ""%%1"""
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-16 18:54 , Processed in 0.017833 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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