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

來源:互聯網
上載者:User

用執行個體來說明問題。

我的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<檔案>       僅包括指定檔案
  n@            從標準輸入裝置讀取要包含的檔案名稱
  n@<列表>      在指定列表檔案包括檔案
  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<檔案>       排除指定的檔案
  x@            從標準輸入裝置讀取要排除的檔案名
  x@<列表>      排除指定列表檔案中的檔案
  y             假設對全部詢問都回答是

 

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.