當你需要壓縮或是解壓文件時,你會通過何種方式來完成呢?相信幾乎所有的人都會說“使用右鍵菜單”,相信用WinRAR的就沒有不和右鍵菜單打交道的,可是你在使用時有沒有發(fā)現,在進行某些常用的操作時,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 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字節(jié)(31000個漢字),而ZIP壓縮文件則為32768字節(jié)(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^。
