WinRAR壓縮命令

【轉自】http://blog.csdn.net/ymc0329/article/details/6792608
 

QT調用Winrar軟件壓縮、解壓縮時需要注意的情況

關於QT調用winrar軟件,就是把winrar軟件安裝包下的WinRAR.exe程序拷貝到你的程序目錄中,執行條cmd命令,關於怎麼執行cmd命令的問題,請看我的上一篇日誌:

解決QProcess對象調用execute執行cmd命令不支持中文和空格的問題

下面說說在調用winrar時需要注意的情況


1.壓縮:

cmd命令如下:

QString sCmd = "WinRaR.exe a -ep1 -r -ibck -o+ C:/test.rar C:/test";

這是將C盤下的test文件夾壓縮,在C盤下生成test.rar


2.解壓縮:

QString sCmd = "WinRaR.exe x -ibck -y -o+ C:/test.rar C:/list";

這是將C盤下的test.rar壓縮包解壓到C盤下的list


如果你沒有特殊要求,上面這兩句中的參數就不用改了。具體含義見下文:


注意點:

  a是壓縮

  x是絕對路徑解壓縮,注意一定不要用e,會出錯的

  ibck是後臺壓縮。

  其他的命令,見下表:


用法:     rar <命令> -<開關 1> -<開關 N> <壓縮文件> <文件...>
               <@列表文件...> <解壓路徑\>


<命令>
  a             添加文件到壓縮文件
  c             添加壓縮文件註釋
  cf            添加文件註釋
  ch            改變壓縮文件參數
  cw            寫入壓縮文件註釋到文件
  d             刪除壓縮文件中的文件
  e             解壓壓縮文件到當前目錄
  f             刷新壓縮文件中的文件
  i[參數]=<串>  在壓縮文件中查找字符串
  k             鎖定壓縮文件
  l[t,b]        列出壓縮文件[技術信息,簡潔]
  m[f]          移動到壓縮文件[僅對文件]
  p             打印文件到標準輸出設備
  r             修復壓縮文件
  rc            重建丟失的卷
  rn            重命名壓縮文件
  rr[N]         添加數據恢復記錄
  rv[N]         創建恢復卷
  s[名字|-]     轉換壓縮文件爲自解壓格式或轉換回壓縮文件
  t             測試壓縮文件
  u             更新壓縮文件中的文件
  v[t,b]        詳細列出壓縮文件[技術信息,簡潔]
  x             用絕對路徑解壓文件


<開關>
  -             停止掃描
  ac            壓縮或解壓後清除存檔屬性
  ad            添加壓縮文件名到目標路徑
  ag[格式]      使用當前日期生成壓縮文件名
  ai            忽略文件屬性
  ao            添加具有壓縮屬性的文件
  ap<格式>      添加路徑到壓縮文件中
  as            同步壓縮文件內容
  av            添加用戶身份校驗(僅註冊版本可用)
  av-           禁用用戶身份校驗
  c-            禁用註釋顯示
  cfg-          禁用讀取配置
  cl            名稱轉換爲小寫
  cu            名稱轉換爲大寫
  df            壓縮後刪除文件
  dh            打開共享文件
  dr            刪除文件到回收站
  ds            對固實壓縮文件禁用名稱排序
  dw            檔案處理後清除文件
  e[+]<屬性>    設置文件排除和包括屬性
  ed            不添加空目錄
  en            不添加"壓縮文件結束"標誌
  ep            從名稱中排除路徑(全部都是文件形式)
  ep1           從名稱中排除基本目錄(如果壓縮是文件的話,只剩單個文件;如果壓縮的是文件夾的話,就是當前文件夾)
  ep2           展開爲完整路徑(除盤符外的整個目錄路徑都被壓縮到壓縮文件中)
  ep3           擴展路徑爲包含盤符的完全路徑(包括盤符在內的文件,都被壓縮到壓縮文件)
  f             刷新文件
  hp[密碼]      同時加密文件數據和文件頭
  id[c,d,p,q]   禁用消息
  ieml[屬性]    用 E-mail 發送壓縮文件
  ierr          發送所有消息到標準錯誤設備
  ilog[名稱]    把錯誤寫到日誌文件(只有註冊版本可用)
  inul          禁用所有消息
  ioff          完成一個操作後關閉 PC 電源
  isnd          啓用聲音
  k             鎖定壓縮文件
  kb            保留損壞的已解壓文件
  m<0..5>       設置壓縮級別(0-存儲...3-默認...5-最大)
  mc<參數>      設置高級壓縮參數
  md<大小>      以KB爲單位的字典大小(64,128,256,512,1024,2048,4096 or A-G)
  ms[ext;ext]   指定存儲的文件類型
  mt<線程>      設置線程數
  n<文件>       僅包含指定的文件
  n@            從標準輸入設備讀取文件名到包括
  n@<列表>      包含在指定的列表文件中列出的文件
  o[+|-]        設置覆蓋模式
  oc            設置 NTFS 壓縮屬性
  or            自動重命名文件
  os            保存 NTFS 流
  ow            保存或恢復文件所有者和組
  p[密碼]       設置密碼
  p-            不詢問密碼
  r             遞歸子目錄(如果你寫*.txt,-r 會壓縮當前目錄下所有的txt,包括子目錄下的txt)
  r-            禁用遞歸
  r0            僅遞歸通配符名稱的子目錄
  ri<P>[:<S>]   設置優先級(0-默認,1-最小..15-最大)和以毫秒爲單位的休眠時間
  rr[N]         添加數據恢復記錄
  rv[N]         創建恢復卷
  s[<N>,v[-],e] 創建固實壓縮文件
  s-            禁用固實壓縮文件
  sc<chr>[obj]  指定字符集
  sfx[名稱]     創建自解壓壓縮文件
  st[名稱]      從標準輸入設備讀取數據(stdin)
  sl<大小>      處理小於指定大小的文件
  sm<大小>      處理超過指定大小的文件
  t             壓縮後測試文件
  ta<日期>      添加日期 <日期> 後修改的文件,日期格式 YYYYMMDDHHMMSS
  tb<日期>      添加日期 <日期> 前修改的文件,日期格式 YYYYMMDDHHMMSS
  tk            保留原始壓縮文件時間
  tl            設置壓縮文件時間爲最新文件時間
  tn<時間>      添加 <時間> 以後的文件
  to<時間>      添加 <時間> 以前的文件
  ts<m,c,a>[N]  保存或恢復文件時間(修改,創建,訪問)
  u             更新文件
  v             自動檢測創建卷的大小或者列出所有的卷
  v<大小>[k,b]  創建卷大小=<大小>*1000 [*1024, *1]
  vd            創建容量前清除磁盤內容
  ver[n]        文件版本控制
  vn            使用舊風格的卷命名方案
  vp            每卷之前暫停
  w<路徑>       指定工作目錄
  x<文件>       排除指定的文件
  x@            從標準輸入設備讀取要排除的文件名
  x@<列表>       排除在指定的列表文件中列出的文件
  y             假設對全部詢問都回答是
  z[文件]       從文件讀取壓縮文件註釋

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章