天天看點

WinRAR在DOS下壓縮/解壓縮的使用方法

用執行個體來說明問題。

我的WinRAR路徑:

C:/Program Files/WinRAR/WinRAR.exe

用法: rar <指令> -<開關 1> -<開關 N> <壓縮檔案> <檔案...> <@清單檔案...> <解壓路徑/> <指令>

[指令行參數檢視 ]

操作步驟:

1.将C:/Program Files/WinRAR下的Rar.exe拷貝到%SystemRoot%/system32下,這樣你就不必設定rar的環境變量,而能直接再cmd 指令提示符下使用rar指令 .

(關 于環境變量: cmd 的指令不能用了怎麼辦 )

2.在C槽建立duxing.txt 檔案和dodo 檔案夾,用來做個試驗.

3.運作中輸入cmd打開指令提示符.

4.然後:

壓縮檔案:

C:/Documents and Settings/Administrator>cd/

C:/>rar a duxing.rar duxing.txt

RAR 3.62    版權 (C) 1993-2006 Alexander Roshal    3 十二月 2006

共享版本         輸入 RAR -? 獲得幫助

評估版本,請注冊

正在建立 壓縮檔案 duxing.rar

正在添加    duxing.txt                                                  完成

完成

壓縮檔案夾:

C:/>rar a dodo.rar dodo

RAR 3.62    版權 (C) 1993-2006 Alexander Roshal    3 十二月 2006

共享版本         輸入 RAR -? 獲得幫助

評估版本,請注冊

正在建立 壓縮檔案 dodo.rar

正在添加    dodo                                                        完成

完成

WinRAR如何批量壓縮檔案夾

1.拖放檔案壓縮之:

建立個bat,内容為:

rar a %1.rar %1

然後依次将要壓縮的檔案或檔案夾拖放到該bat圖示上,即可壓縮了。

能省點兒事兒吧。

------Update--2008.11.18--笃行天下

在 Dos貼吧 裡求教歸來~~

@echo off 

rem --設定指定路徑為d:/test ,使用者可自定義

set "pt=d:/test " 

rem --擷取指定路徑下所有檔案和檔案夾的名稱 

for /f %%i in ('dir /b d:/test' ) do ( 

rem --這裡做為顯示的指令參數 

rar a d:/test/ %%~ni.rar d:/test/ %%i

echo 完成!

ping -n 3 127.0.0.1>nul

對上面批處理的說明:

1. rem後跟的是注釋;

2. set "pt=d:/test" 設定的是路徑,test裡每一個檔案和檔案夾都會被單獨壓縮成一個rar包;

3. for /f %%i in ('dir /s/b d:/test') 這句就是我在Dos貼吧所求得的,表示獲得d:/test路徑下的檔案和檔案夾名稱作為下一步的參數

4. rar a d:/test/ %%~ni .rar %%i 中d:/test/ 設定的是壓縮包存放路 徑%%~ni 表示壓縮包的名稱(不含原來檔案的擴充名例如原來檔案為duxing.txt壓縮後為 duxing.rar,這種情況下需要注意,若同目錄中有duxing.java,也會被添加到duxing.rar包中;若要包含原檔案名,則将此部分 改為%%i , 壓縮後,名稱為duxing.txt.rar)。 

5. 最後一行的 ping -n 3 127.0.0.1>nul 是3秒後結束程式,關閉視窗

6. 小提示:建立的這個bat檔案若放到壓縮源的路徑裡,自身也會被壓縮,是以留意一下,不需要時可以删除之.若bat檔案放到要壓縮源的路徑之外,就不用考 慮此問題.

7.一個不考慮環境變量的寫法,即指令中顯式指出rar.exe路 徑:

(我的RAR.exe所在路徑: C:/Program Files/WinRAR/RAR.exe)

@echo off 

rem --設定指定路徑為d:/test ,使用者可自定義

set "pt=d:/test " 

rem --擷取指定路徑下所有檔案和檔案夾的名稱 

for /f %%i in ('dir /b d:/test' ) do ( 

rem --這裡做為顯示的指令參數

"C:/Program Files/WinRAR/rar.exe" a d:/test/ %%~ni.rar d:/test/ %%i

echo 完成!

ping -n 3 127.0.0.1>nul 

8.缺陷 :僅能處理某一檔案夾下的内容; 所要壓縮的對象名稱中不能含有空格。

講解了原理,您也能自行修改這段代碼了,建議在正式使用前,請建立個檔案夾,測試一下,考慮一下各種情況下會不會 有意想不到的效果。

最後祝您運作成功,感謝Dos貼吧的那位不知名的恩師~~

rem --指令更新18:42 2008-11-25 支援檔案和檔案名稱中含空格

rem --笃行天下 http://hi.baidu.com/duxing

@echo off 

rem --設定指定路徑為d:/test ,使用者可自定義

set "pt=d:/test"

rem --擷取指定路徑下所有檔案和檔案夾的名稱 

for /f "tokens=*" %%i in ('dir /b %pt%') do (

rem --這裡做為顯示的指令參數 

rar a "%pt%/%%i" "%pt%/%%i"

echo 完成!

pause

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

解壓在檔案的指令行也差不多操作,先把winrar安裝目錄下的unrar.exe拷貝到C:/windows/system32下

用法:     unrar <指令> -<開關 1> -<開關 N> <壓縮檔案> <檔案...>

               <@清單檔案...> <解壓路徑/>

<注釋>

  e             解壓壓縮檔案到目前目錄

  l[t,b]        列出壓縮檔案[技術資訊,簡潔]

  p             列印檔案到标準輸出裝置

  t             測試壓縮檔案

  v[t,b]        詳細列出壓縮檔案[技術資訊,簡潔]

  x             用絕對路徑解壓檔案

<開關>

  -             停止掃描

  ac            壓縮或解壓後清除存檔屬性

  ad            添加壓縮檔案名到目标路徑

  ai            忽略檔案屬性

  ap<路徑>      添加路徑到壓縮檔案中

  av-           禁用使用者身份校驗

  c-            禁用注釋顯示

  cfg-          禁用讀取配置

  cl            名稱轉換為小寫

  cu            名稱轉換為大寫

  dh            打開共享檔案

  ep            從名稱中排除路徑

  ep3           擴充路徑為包含盤符的完全路徑

  f             重新整理檔案

  id[c,d,p,q]   禁止資訊顯示

  ierr          發送所有消息到标準錯誤裝置

  inul          禁用所有消息

  ioff          完成一個操作後關閉 PC 電源

  kb            保留損壞的已解壓檔案

  n<檔案>       僅包括指定檔案

  [email protected]            從标準輸入裝置讀取要包括的檔案名稱

  [email protected]<清單>      在指定清單檔案包括檔案

  o[+|-]        設定覆寫模式

  oc            設定 NTFS 壓縮屬性

  or            自動重命名檔案

  ow            儲存或恢複檔案所有權群組

  [密碼]        設定密碼

  p-            不詢問密碼

  r             包含子目錄

  ri<P>[:<S>]   設定優先級 (0-預設,1-最小..15-最大) 和休眠時間(毫秒)

  sl<大小>      處理小于指定大小的檔案

  sm<大小>      處理大于指定大小的檔案

  ta<日期>      添加日期 <日期> 後修改的檔案,日期格式 YYYYMMDDHHMMSS

  tb<日期>      添加日期 <日期> 前修改的檔案,日期格式 YYYYMMDDHHMMSS

  tn<時間>      添加 <時間> 以後的檔案

  to<時間>      添加 <時間> 以前的檔案

  ts<m,c,a>[N]  儲存或恢複檔案時間(修改,建立,通路)

  u             更新檔案

  v             列出所有卷

  ver[n]        檔案版本控制

  vp            每卷之前暫停

  x<檔案>       排除指定的檔案

  [email protected]            從标準輸入裝置讀取要排除的檔案名

  [email protected]<清單>      排除指定清單檔案中的檔案

  y             假設對全部詢問都回答是

舉例說明:(将一個檔案解壓縮到目前目錄下)d:/>unrar x 123.rar

繼續閱讀