WinRAR不可思议之右键补完计划

来源:岁月联盟 编辑:zhu 时间:2006-08-10
WinRAR不可思议之右键补完计划内容简介:当你需要压缩或是解压文件时,你会通过何种方式来完成呢?相信几乎所有的人都会说“使用右键菜单”,相信用WinRAR的就没有不和右键菜单打交道的,可是你在使用时有没有发现,在进行某些常用的操作时,WinRAR的右键菜单   当你需要压缩或是解压文件时,你会通过何种方式来完成呢?相信几乎所有的人都会说“使用右键菜单”,相信用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.更酷的解压缩到上一级文件夹     

  在《潜入压缩包的内部——文件压缩高手速成班》一文中,我们学会了为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格式),选择“添加注释”项,然后可添加注释即可(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^。 

WinRAR不可思议之右键补完计划

图片内容