无忧启动论坛

标题: 针对WinRAR律师函事件,把CAB压缩文件夹集成到右键菜单 [打印本页]

作者: netwinxp    时间: 2007-7-15 00:25
标题: 针对WinRAR律师函事件,把CAB压缩文件夹集成到右键菜单
经过对老毛桃CAB压缩P处理的研究,现将它集成到右键菜单(仅对文件夹有效)。由于挂接文件右键会导致双击未关联文件时会夺取默认的"打开方式"(网上广为流传的那个CAB注册表文件同样会夺取),所以暂时不挂接到文件右键菜单。
软件组成:
1、mkcab.txt——主P处理程序源代码,单独使用时可以支持单目录拖放。
2、inmkcab.cmd——安装程序。
3、unmkcab.cmd——卸载程序。
总体压缩率在一般情况下比rar最大压缩还高。

==============================
另外一个则是支持多文件、文件夹直接拖放的P处理,最近还没有解决参数在注册表传送的问题,一解决,将把这两个合并

[ 本帖最后由 netwinxp 于 2007-7-27 12:00 PM 编辑 ]

mkmaxcab.rar

1.07 KB, 下载次数: 2866, 下载积分: 无忧币 -2

其实是用自己压缩的CAB文件,居然不能上传@_@改名ing...

dragmkcab.rar

688 Bytes, 下载次数: 2693, 下载积分: 无忧币 -2

全拖放屁处理


作者: netwinxp    时间: 2007-7-15 00:28
板猪在吗?放错地方了,请帮我转到系统区:L(算了,不移了,反正毛桃的mkcab也在;P )

[ 本帖最后由 netwinxp 于 2007-7-15 12:23 PM 编辑 ]
作者: netwinxp    时间: 2007-7-15 00:55
:D 嘿嘿,本来可以做成只有两个文件的,为了方便大家修改就把主P处理源代码也贴上。:lol

[ 本帖最后由 netwinxp 于 2007-7-16 06:17 PM 编辑 ]
作者: netwinxp    时间: 2007-7-15 12:32
下一个版本将支持多文件夹同时操作,正在调试中....
作者: neo4026    时间: 2007-7-16 09:43
好 顶一下 好东西不可以不顶
作者: taoty    时间: 2007-7-18 01:00
巨好的工具,感谢分享,支持原创。
作者: taoty    时间: 2007-7-18 01:03
刚才试了一下,确实很好用,回头再顶。
作者: 阿非    时间: 2007-7-26 00:05
不错啊,压缩后的文件扩展名改为RAR更好
一些附件上传不支持CAB
作者: netwinxp    时间: 2007-7-27 12:01
现在已经能支持全拖放了,下一步目标整合:)
作者: netwinxp    时间: 2007-7-27 16:11
在DOS联盟论坛贴了第二个批处理,他们认为没有微软原装包的压缩率高,于是俺就做了个测试:
我们以office2000sch原装光盘里面的ofifice1.cab来做测试,原压缩包110M(115,385,377)内含252个文件,解压后210M(220,265,737)共252个文件,重新用上面的压缩后105M(110,611,933)内含252个文件,经解压进行文件对比,完全重合,用新压缩包替换老压缩包安装过程完全没问题。新包比原包少了5M:victory: ,也就是说微软的原装包并不全是最大压缩。

作者: netwinxp    时间: 2007-7-27 16:18
突然发现,下载需要扣威望,于是我把第二个批处理源代码贴出来,对于威望不够的朋友,你只需

把黄框里面的代码复制到记事本,并另存为dragmkcab.cmd即可。下面是源码:
  1. @Echo Off
  2. Title CAB文件夹最大压缩工具—无忧启动
  3. Set Prestr=MAKECAB /v3 /D CompressionType=LZX /D CompressionMemory=21 /D MaxDiskSize=CDROM /D Cabinet=On /D Compress=On
  4. :begin
  5. Set fullname=%~1
  6. Set dirpath=%~dp1
  7. Set srcname=%~n1
  8. if exist "%fullname%" goto is_dir
  9. :is_file
  10. Set Cmdstr=%Prestr% "%fullname%" "%dirpath%%srcname%.CAB"
  11. %Cmdstr%
  12. Set Cmdstr=
  13. shift
  14. Set tmpstr=%1
  15. if not %tmpstr%=="" goto begin
  16. goto end
  17. :is_dir
  18. Set Cmdstr=%Prestr%  /D FolderSizeThreshold=5000000 /D DiskDirectoryTemplate="%dirpath%." /D CabinetNameTemplate="%srcname%.CAB"
  19. Set Tempfile=%TEMP%\mkcabtmp.tmp
  20. If Exist "%Tempfile%" Del "%Tempfile%" >NUL
  21. SETLOCAL ENABLEDELAYEDEXPANSION
  22. For /f "delims=" %%i In ('dir "%fullname%" /s /b /a-d') Do (
  23. Set subname=%%i
  24. Set "subname=!subname:%fullname%\=!"
  25. Echo "%%i" "!subname!">>%Tempfile%
  26. )
  27. ENDLOCAL
  28. %Cmdstr% /F %Tempfile%
  29. Del /F /S /Q "%Tempfile%" SETUP.INF SETUP.RPT >NUL
  30. Set Tempfile=
  31. Set Cmdstr=
  32. shift
  33. Set tmpstr=%1
  34. if not %tmpstr%=="" goto begin
  35. :end
  36. Set tmpstr=
  37. Set srcname=
  38. Set dirpath=
  39. Set fullname=
  40. Set Prestr=
复制代码

附:
Set Prestr=MAKECAB /v3 /D CompressionType=LZX /D CompressionMemory=21 /D MaxDiskSize=CDROM /D Cabinet=On /D Compress=On为一行。
Set Cmdstr=%Prestr%  /D FolderSizeThreshold=5000000 /D DiskDirectoryTemplate="%dirpath%." /D CabinetNameTemplate="%srcname%.CAB"也为一行。

[ 本帖最后由 netwinxp 于 2008-4-27 09:54 PM 编辑 ]
作者: netwinxp    时间: 2007-7-27 16:39
原帖由 阿非 于 2007-7-26 00:05 发表
不错啊,压缩后的文件扩展名改为RAR更好
一些附件上传不支持CAB

你直接把源代码里面的CAB改成RAR就可以了,只不过实际上还是CAB包,压缩率比RAR的最大压缩率还高呢。
作者: 阿非    时间: 2007-7-28 05:51
原帖由 netwinxp 于 2007-7-27 04:39 PM 发表

你直接把源代码里面的CAB改成RAR就可以了,只不过实际上还是CAB包,压缩率比RAR的最大压缩率还高呢。


这个我知道,建议在附件中修改

另外,全拖放的那个P处理(附件中的),在我的系统中,运行后一闪而过,没有窗口,怎么拖放:lol
作者: netwinxp    时间: 2007-7-28 09:02
原帖由 阿非 于 2007-7-28 05:51 发表


这个我知道,建议在附件中修改

另外,全拖放的那个P处理(附件中的),在我的系统中,运行后一闪而过,没有窗口,怎么拖放:lol

把要压缩的对象拖到P处理身上放开就可以了,一个对象一个包。

拖放.GIF (18.07 KB, 下载次数: 133)

拖放.GIF

作者: 阿非    时间: 2007-7-28 11:39
原帖由 netwinxp 于 2007-7-28 09:02 AM 发表

把要压缩的对象拖到P处理身上放开就可以了,一个对象一个包。


:L 原来是这样。

赶快完善右键吧,还是这个方便
作者: mackyliu    时间: 2007-8-3 10:16
不错的工具,哈哈,帮你把第一个压缩文件夹的工具改动了一下,变成一个exe文件,自动判断是否已经安装,已安装就跳出卸载,反之则安装。

mkmaxcab.rar

49.71 KB, 下载次数: 451, 下载积分: 无忧币 -2

全自动批处理


作者: gizmo327    时间: 2007-8-5 22:12
先顶一个,然后下载来研究一下
作者: gizmo327    时间: 2007-8-5 22:17
好东西啊...
果然完美-0-

收藏了,谢谢LZ
作者: leobaidu    时间: 2007-8-6 08:21
当来试一试,不知道怎么样
作者: hbjsuda    时间: 2007-8-21 02:38
好 顶一下 好东西不可以不顶
作者: lisong    时间: 2007-8-29 13:23
安装后不知如何用!!!!!!!!!
作者: cxmzlxb    时间: 2007-8-29 16:09
安装了,压缩率不错!!!!!!!!
作者: btvcctv    时间: 2007-8-30 08:48
RAR到处发律师函呀                         
作者: netwinxp    时间: 2007-8-31 10:01
原帖由 lisong 于 2007-8-29 13:23 发表
安装后不知如何用!!!!!!!!!

选个文件夹,按鼠标右键就有了:L
作者: wangjf    时间: 2007-8-31 20:58
给大家发一个我制作的吧。调用CABARC.EXE压缩和解压。支持右键菜单。为什么要用CABARC.EXE呢?因为MAKECAB.EXE压缩文件后老是把文件的时间属性改变。而CABARC.EXE不会。只要是调用MAKECAB.EXE进行压缩操作的程序好像都有这个现象。下面是我自己作的自解压文件。欢迎大家多多交流。怎么上穿不了附件呢。

[ 本帖最后由 wangjf 于 2007-8-31 08:59 PM 编辑 ]

CAB_ExMk.zip

77.1 KB, 下载次数: 490, 下载积分: 无忧币 -2


作者: king.cx    时间: 2007-11-19 21:14
好东西.不顶不行!!!
作者: nonenever    时间: 2007-12-22 23:56
原帖由 wangjf 于 2007-8-31 08:58 PM 发表
给大家发一个我制作的吧。调用CABARC.EXE压缩和解压。支持右键菜单。为什么要用CABARC.EXE呢?因为MAKECAB.EXE压缩文件后老是把文件的时间属性改变。而CABARC.EXE不会。只要是调用MAKECAB.EXE进行压缩操作的程序 ...



有图示中的问题

Snap5.gif (108.16 KB, 下载次数: 105)

Snap5.gif

作者: 都市浪子666    时间: 2008-1-13 03:36
26楼的东西好呀,,,谢谢了
作者: wanmm2001    时间: 2008-1-13 14:16
原帖由 nonenever 于 2007-12-22 11:56 PM 发表



有图示中的问题



的确是这样

[ 本帖最后由 wanmm2001 于 2008-1-13 02:20 PM 编辑 ]
作者: wanmm2001    时间: 2008-1-13 14:16
楼主和26楼的都是好东西
作者: 寒松飞雪    时间: 2008-1-13 14:26
谢谢分享,好东西。。
作者: long_xiao_me    时间: 2008-1-18 13:10
正在找这样一个功能的软件啊,这下好啦,多谢楼主。
作者: zrr890528    时间: 2008-1-29 14:50
哈哈找的辛苦啊,总算找到了
作者: sunrising    时间: 2008-4-13 16:43
标题: 回复 #12 netwinxp 的帖子
按你说的,先改成.rar,再保存为.cmd。
用两个小文件试验,压缩前,两个共1074字节,cab压缩后是774字节,winrar压缩后是788字节,cab比rar压缩率高一点点(27.933%-26.629%=1.304%,可能大的文件会更显著?)。
但是发现,压缩前,两文件占用空间是4096字节,压缩后,占用空间都成了8192字节,奇怪,后来才知道自己很小白,是簇定义的关系,^_^。

进这个论坛是因为老毛桃先生(先行致谢了,^_^),昨晚找制作u盘启动盘的资料,再次发现了老毛桃的名字(以前下过winpe老毛桃的,以为是系统盘,一直放着),有链接是这个论坛,我一看“无忧论坛”,乐了,我下的一个启动盘就是无忧启动,呵呵,决定注册,收藏,就来了。

今天看了这个帖子,又知道了一个软件,只是编程知识很欠缺。
新人一个,请大家多多关照。
谢谢。
作者: sunrising    时间: 2008-4-13 16:55
标题: 回复 #1 netwinxp 的帖子
填入注册信息后,右键只能压文件夹,右键点文件没cab压缩选项,怎么解决?
还有cab压缩后,双击压缩文件,压缩后大小是“?”号,怎么回事?
请解疑,谢谢。
作者: netwinxp    时间: 2008-4-13 17:11
原帖由 sunrising 于 2008-4-13 16:55 发表
填入注册信息后,右键只能压文件夹,右键点文件没cab压缩选项,怎么解决?
还有cab压缩后,双击压缩文件,压缩后大小是“?”号,怎么回事?
请解疑,谢谢。

你看1楼贴子,我这个只支持单文件夹右键(另外一个是支持多文件、文件夹拖放,不支持双击和右键),双击压缩本来只需一个注册表就可以了,但有1楼所说的问题,所以我没加进去。你那个双击已压缩的文件是由你的解压软件接管的,不知你用哪个解压软件,所以没办法判定问题所在。

[ 本帖最后由 netwinxp 于 2008-4-13 05:13 PM 编辑 ]
作者: sunrising    时间: 2008-4-13 17:12
还有个问题,如果想让MkCab替代winrar的话,如果不用winrar,怎么解压缩.cab文件?我现在就是把winrar卸了,下了rar格式的文件以及刚压缩的cab文件,但不知道怎么解压。请告知,谢谢。
作者: sunrising    时间: 2008-4-13 17:21
标题: 回复 #1 netwinxp 的帖子
我刚试过,你这个也可以多文件、文件夹一起拖放批处理呀。
只是等你把右键问题解决了就爽了,再整个解压功能,就圆满了。
o(∩_∩)o...期待中。。。。。。
作者: netwinxp    时间: 2008-4-13 17:29
CAB包解压直接用系统原来内置的zipfldr.dll即可,你可以运行regsvr32 zipfldr.dll重新注册回去。右键问题不好解决,因为它会在每个文件夹打开一个MKCAB.CMD窗口,造成覆盖。其实解压缩也不难,但是功能比专业软件差多了,所以没有往这方面发展。

[ 本帖最后由 netwinxp 于 2008-4-13 05:36 PM 编辑 ]
作者: wangpeng    时间: 2008-4-27 14:36
谢谢了 可以压缩驱动包在PE下用了
作者: zhoubin    时间: 2008-6-13 11:43
无忧论坛好人多,谢谢了
作者: ttj36    时间: 2008-7-26 13:08
看了一下,。我不要格式是,CAB的,要,IS-这种格式的,
作者: spring_wind    时间: 2008-11-13 22:25
呵呵,好东西,支持一下
作者: 好小子    时间: 2008-12-13 10:04
谢谢了.好用.
作者: jjffjj    时间: 2009-3-20 10:54
刚才替换PE中的网卡驱动,用了一下,楼主的批处理确实不错。
作者: z1314007    时间: 2009-3-21 20:34
好方便的工具~~~谢谢。
作者: 军佬    时间: 2009-4-24 20:03
无忧论坛真的高手如云!
作者: 425360202    时间: 2010-2-20 19:59
谢谢了  谢谢~~~~~~~
作者: kinghappysun    时间: 2010-6-11 21:43
经典好用的P,谢谢netwinxp




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3