中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-10 18:16
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [分享]右键增加CAB格式单文件安装包压缩与解压缩功能 查看 961 回复 1
楼 主 [分享]右键增加CAB格式单文件安装包压缩与解压缩功能 发表于 2007-11-24 16:25 ·  中国 福建 福州 联通
高级用户
★★
积分 581
发帖 277
注册 2006-12-23 05:10
19年会员
UID 74328
性别 男
状态 离线
windows安装文件很多都是将单文件压缩成CAB格式的*****.**_文件

通过修改注册表可以增加右键菜单,调用makecab.exe将原文件压缩为此类型的CAB格式

但是这仅限于压缩,而此类文件最麻烦的是在解压时因为文件类型名不统一而无法便捷处理

今天下午将解压缩补全了,同样是调用windows自带的命令expand.exe实现

将以下代码复制并保存为批处理执行即可看到效果



@echo off
reg add "HKCR\*\shell\压缩成CAB格式单文件包" /ve /d 压缩成CAB格式单文件包 /f
reg add "HKCR\*\shell\压缩成CAB格式单文件包\command" /ve /d "makecab /v3 /D CompressionType=LZX /D CompressionMemory=21 \"%%1\"" /f
reg add "HKCR\*\shell\解压缩CAB格式单文件包到当前文件夹" /ve /d 解压缩CAB格式单文件包到当前文件夹 /f
reg add "HKCR\*\shell\解压缩CAB格式单文件包到当前文件夹\command" /ve /d "expand -r \"%%1\"" /f
exit
2 发表于 2008-11-25 01:09 ·  中国 四川 成都 电信
初级用户
★★
积分 118
发帖 66
注册 2006-08-18 16:04
19年会员
UID 60797
性别 男
状态 离线
谢谢楼主,顶下,修改了下用了

@echo off
reg add "HKCR\*\shell\压缩成CAB格式单文件包" /ve /d 压缩成CAB格式单文件包 /f
reg add "HKCR\*\shell\压缩成CAB格式单文件包\command" /ve /d "MAKECAB /D CompressionType=LZX /D CompressionMemory=21 /D MaxDiskSize=CDROM /D Cabinet=ON /D Compress=ON /D FolderSizeThreshold=5000000 \"%%1\"" /f
reg add "HKCR\*\shell\解压缩CAB格式单文件包到当前文件夹" /ve /d 解压缩CAB格式单文件包到当前文件夹 /f
reg add "HKCR\*\shell\解压缩CAB格式单文件包到当前文件夹\command" /ve /d "expand -r \"%%1\"" /f
exit
论坛跳转: