当你需要压缩或是解压文件时,你会通过何种方式来完成呢?相信几乎所有的人都会说“使用右键菜单”,相信用WinRAR的就没有不和右键菜单打交道的,可是你在使用时有没有发现,在进行某些常用的操作时,WinRAR的右键菜单还是有些不方便,那么我们如何修改呢?来看看下面的介绍吧。
芝麻开门
Windows的右键菜单
WinRAR的右键菜单是大家最常用的功能,可能很多朋友还不知道其实这个菜单是由注册表来定义的,为什么右击不同的文件,Windows的菜单就会不同呢?Windows是如何判断的呢?其实很简单。
Step 1:打开注册表编辑器。找到[HKEY_CLASSES_ROOT]项,在此项的前半部分以“.”开头的(如“.avi”、“.bmp”等)项目,包含了你电脑中所有支持的扩展名。
Step 2:选中任意以“.”开头的文件,在窗口右侧“默认”的“数据”项下就是此类扩展名文件对应的一个注册表“项”,此项是可以在[HKEY_CLASSES_ROOT]项下找到的(见图1)(图1 比如点击“.rar”后,我们就会在“默认”的“数据”项下看到“WinRAR”,在[HKEY_CLASSES_ROOT]项下我们是可以找到“WinRAR”项的)。
Step 3:找到Step 2中对应的数据项,展开后,可以看到“shell”项,该项下面就是我们的右键菜单。一般默认已经有了一个“open”项(即几乎每类文件都会有的“打开”项),在它下面有一个“command”子项,该项表示点击“打开”后所运行的操作。我们下面操作也是针对它们来完成的。另外需要特别注意的是[HKEY_CLASSES_ROOT\*]项,下定义了右键菜单中的公共项目,即不管右击何种文件,都会显示的项目,比如WinRAR的右键菜单就是在此定义的。
小提示
★多级菜单是如何建立的呢?
如果需要建立多级菜单,则需要使用DLL文件,比如像WinRAR的多级菜单,其实是通过注册表调用RarExt.dll来实现的。
★在[HKEY_CLASSES_ROOT\Folder\shell]项下,可以自定义文件夹的右键菜单。
下面我们就开始对WinRAR进行改造,让它变得更为完美。
1.更酷的解压缩到上一级文件夹
在本刊第10期的《潜入压缩包的内部——文件压缩高手速成班》一文中,我们学会了为WinRAR的右键菜单添加“解压缩到上一级文件夹”的方法,但该方法有个不太舒服的地方——不管右击何种文件,该选项都会在右键菜单中出现,这里为大家介绍另外一种方法,只有当选中的文件是RAR或ZIP文件时才会出现。
Step 1:打开注册表编辑器,找到[HKEY_CLASSES_ROOT\WinRAR\shell],在“Shell”项上右击,选择“新建→项”,并将其命名为“解压到上一层文件夹”,然后在其下再新建“command”子项,这时双击右侧窗格的“(默认)”,在“数值数据”中填入“"C:\Program Files\WinRAR\Winrar.exe" x -o- -ibck -ILOGrar.log -y "%1" ..\”(不含外侧引号)。注意此处的"C:\Program Files\WinRAR\Winrar.exe"要根据你电脑中的WinRAR安装文件夹进行改变。
Step 2:找到[HKEY_CLASSES_ROOT\WinRAR.ZIP\shell],用Step 1的方法建立同样的项并修改“默认”的值即可。
现在右击RAR格式及ZIP的压缩包就可以看到需要的“解压到上一层文件夹”选项了,而对于其他格式的文件,则不会出现此项。
小提示
“解压到上一层文件夹”做了些什么?
x:用绝对路径解压文件。
-o-:不覆盖已存在文件。
-ibck:后台工作。
-ILOGrar.log:把错误写到日志文件,但只有注册版本可用。
-y:对全部询问都回答是。
"%1":当前选中的文件。
..\:表示上一级目录。
将这些参数整合到一起相信大家已经知道是“解压到上一层文件夹”都做了些什么了。
2.压缩、自解压轻松转换
EXE格式的自解压文件是每个菜鸟都喜欢的一种格式,但我们从网上下载的文件大都是RAR格式,需要进行转换才能保存,对于这种情况我们需要手动转换,但这样比较麻烦,其实同样也可以使用右键菜单来解决问题。
Step 1:打开注册表编辑器,在[HKEY_CLASSES_ROOT\WinRAR\shell]及[HKEY_CLASSES_ROOT\WinRAR.ZIP\shel]下新建“转换为自解压文件”项,然后在其下建立“command”子项,接着在窗口右侧修改“(默认)”的数值为“"C:\Program Files\WinRAR\Winrar.exe" s -ibck -y "%1"”(不含外侧的引号)。
Step 2:在[HKEY_CLASSES_ROOT\exefile\shell]下新建“转换为压缩文件”项,然后在其下建立“command”子项,接着窗口右侧修改“(默认)”的数值为“"C:\Program Files\WinRAR\Winrar.exe" s- -ibck -y "%1"”(不含外侧的引号)。
现在右击RAR或ZIP文件,就可以直接将其转换为自解压文件了,右击EXE文件,就可以直接将其转换为压缩文件。
小提示
“转换为自解压文件”及“转换为压缩文件”做了些什么?
这里用到了两个新参数——s及s-,在WinRAR里s表示“转换压缩文件为自解压格式”,而s-表示“转换回压缩文件”。
3.所有文件 一次解压
很多朋友从网上下载数据或是软件后,都会把它们放到不同的文件夹下。当想解压缩这些数据时,还需要进入每个文件夹,然后再解压缩,非常麻烦。其实可以制作一个“解压所有文件”项,用它来解压缩某文件夹下的所有文件。
打开注册表编辑器,在[HKEY_CLASSES_ROOT\Folder\shell]项下新建“解压所有文件”项,在其下再建立“command”子项,接着在窗口右侧修改“(默认)”的数值为“"C:\Program files\winrar\WinRAR.exe" x -o- -cfg- -ibck -ILOGrar.log -y "%1\*.*" "%1\"”(不含外侧的引号)。
小提示
★如果将命令最后的"%1\"改为"%1\..\"则可将所有的文件解压至当前的文件夹中。
★用这种方法会解压缩所有的文件,包括RAR、ZIP、ISO、EXE格式的自解压缩包等。
现在右击包含有压缩文件的文件夹,选择“解压所有文件”项,就可以将所有的压缩文件一些解压了。
小提示
“解压所有文件”做了些什么?
-cfg-:禁用读取配置。
"%1\*.*":表示当前所选文件夹下所有的文件。
"%1\":当前所选文件夹。
4.压缩文件N合一
包括小特、Cornel等在内的小编们都希望WinRAR增加一个合并多个压缩文件的功能,其实我们完全可以自己DIY,通过两个菜单项来完成这个操作,一个用于解压缩,一个用于合并,这样的好处是,你可以在任意文件夹下完成合并操作,从而省去了拷贝的操作。
Step 1:打开注册表编辑器,在[HKEY_CLASSES_ROOT\*\shell]下新建“1.合并-解”项,然后在其下建立“command”子项,接着在窗口右侧修改“(默认)”的数值为“"C:\Program files\winrar\WinRAR.exe" x -ibck -ILOGrar.log -y "%1" c:\temp”(不含外侧的引号)。
Step 2:在[HKEY_CLASSES_ROOT\*\shell]下新建“2.合并-合”项,然后在其下建立“command”子项,接着在窗口右侧修改“(默认)”的数值为“"C:\Program files\Winrar\WinRAR.exe" a -r -df -cfg- -ibck 合并后 c:\temp\*.*”(不含外侧的引号)。
Step 3:经过上面操作后,当需要合并压缩文件时,只要先选中并右击需要合并的文件,选择“1.合并-解”,解压缩完成后,进入需要保存该文件的目录,右击任意文件,选择“2.合并-合”即可。合并后的文件名为“合并后.RAR”
小提示
WinRAR是如何实现合并的?
a:添加文件到压缩文件。
-r:递归子目录。
-df:压缩后删除文件。
5.注释文件快速添加
看过了2004年第3期的《解读最昂贵的字符串——注册码全攻略》一文,大家一定会还记得保存注册码的方法之一就是放到WinRAR的注释项中,那么我们同样也是可以将这个功能添加到右键菜单上的。
Step 1:打开注册表编辑器,在[HKEY_CLASSES_ROOT\WinRAR\shell]下新建“添加注释”项,然后在其下新建“command”子项,接着在窗口右侧修改“(默认)”的数值为“"C:\Program files\Winrar\rar.exe" c "%1"”(不含外侧引号)。
Step 2:找到[HKEY_CLASSES_ROOT\WinRAR.ZIP\shell],用Step 1的方法建立同样的项并修改“默认”的值即可。
Step 3:现在打开“资源管理器”,右击需要添加注释的压缩文件(RAR或ZIP格式),选择“添加注释”项,然后可按如图2所示方法添加注释即可(见图2 RAR压缩文件的最大注释长度为62000字节(31000个汉字),而ZIP压缩文件则为32768字节(16384个汉字))。
6.快速压缩指定文件
不知你是不是经常需要压缩一个文件夹下的指定文件,比如仅压缩某文件夹下的TXT文件,而去除如JPG、BMP等图片文件进行压缩,这么常用的功能自然也要集成到右键菜单中。
打开注册表编辑器,在[HKEY_CLASSES_ROOT\Folder\shell]下新建“提取TXT文件”项,然后在其下新建“command”子项,接着在窗口右侧修改“(默认)”的数值为“"C:\Program files\WinRAR\Winrar.exe" a -r -ep "%1" "%1\*.txt"”(不含外侧引号)。这样以后只要右击需要提取文件的文件夹,然后选择“提取TXT文件”项即可把该目录下的所有TXT文件都提取出来。这里的-ep表示去除路径压缩,这样以便收藏。
小编有话说:WinRAR还有很多功能,你只要把以前命令行的一些操作放到注册表中就可以了,如果你有什么好想法,也欢迎和小特交流,让我们一起定制WinRAR的最强菜单^O^。