因工做中要對數據打包,順便研究了下WinRAR的命令行模式,本身寫了些例子,基本用法以下:post
測試壓縮文件準備:文件夾test_data,內部包含子文件夾,分別存放了一些*.log和*.txt文件。測試
測試代碼以下:加密
1 rem 壓縮所有文件,按類型壓縮,zip打包 2 WinRAR.exe a num_all.zip .\test_data\ 3 WinRAR.exe a num_txt.zip .\test_data\num*.txt 4 WinRAR.exe a num_log.zip .\test_data\num*.log 5 6 rem 壓縮所有文件,按類型壓縮,rar打包 7 WinRAR.exe a num_all.rar .\test_data\ 8 WinRAR.exe a num_txt.rar .\test_data\num*.txt 9 WinRAR.exe a num_log.rar .\test_data\num*.log 10 11 rem 默認壓縮根目錄,遞歸處理子文件夾使用 -r 12 WinRAR.exe a -r num_all_tg.zip .\test_data\*.* 13 WinRAR.exe a -r num_all_txt.zip .\test_data\*.txt 14 WinRAR.exe a -r num_all_log.rar .\test_data\*.log 15 16 17 rem 添加註釋,註釋從一個txt文件讀取,txt文件名info.txt 18 WinRAR.exe c -zinfo.txt num_all.zip 19 WinRAR.exe c -zinfo.txt num_all.rar 20 21 rem 從壓縮包中讀取註釋,寫入到read.txt文件,默認ASCII,參數-scuc表示unicode 22 WinRAR.exe cw num_all.zip read1_ASCII.txt 23 WinRAR.exe cw num_all.rar read2_ASCII.txt 24 WinRAR.exe cw -scuc num_all.rar read_unicode.txt 25 26 rem 從壓縮包中刪除制定文件 27 WinRAR.exe d num_all_tg.zip *.log 28 29 rem 解壓到當前目錄下,不包含壓縮包內的路徑 30 WinRAR.exe e num_all_tg.zip 31 rem 解壓到制定目錄下,不包含壓縮包內的路徑 32 WinRAR.exe e num_all_tg.zip .\test_d2 33 rem 解壓到當前目錄下,只解壓制定類型的文件 34 WinRAR.exe e num_all_tg.zip *.log 35 36 rem 給壓縮包內的文件重命名 37 WinRAR.exe rn num_all_tg.zip num(1).txt num(1).bak num(2).txt num(2).bak 38 WinRAR.exe rn num_all.rar *.txt *.bak 39 40 rem 使用壓縮包捏的絕對路徑解壓 41 WinRAR.exe x num_all_tg.zip 42 rem 使用壓縮包捏的絕對路徑解壓,解壓指定類型文件 43 WinRAR.exe x num_all_tg.zip *.log 44 rem 使用壓縮包捏的絕對路徑解壓,解壓指定類型文件,並解壓到指定文件夾 45 WinRAR.exe x num_all_tg.zip *log .\new_data\
關於winrar 的開關選項,之後有空再研究整理。spa
備註:WinRAR.exe爲安裝完後,從安裝目錄將主程序winRAR.exe拷貝出來便可,該程序是獨立可運行的。命令行
如下爲winRAR的命令幫助原文:線程
Winrar的命令行模式程序在安裝目錄下的 rar.exe (打包壓縮程序),unrar.exe(解壓縮程序),以我安裝的winrar5.3爲例,幫助文檔以下:日誌
..\WinRAR\Rar.exe:code
1 RAR 5.30 beta 2 版權全部 (C) 1993-2015 Alexander Roshal 2 試用版本 輸入 RAR -? 以得到幫助 3 4 用法:rar <命令> -<參數 1> -<參數 N> <壓縮文件> <文件...> 5 <@列表文件...> <解壓路徑\> 6 7 <命令> 8 a 添加文件到壓縮文件 9 c 添加壓縮文件註釋 10 ch 更改壓縮文件參數 11 cw 將壓縮文件註釋寫入文件 12 d 從壓縮文件中刪除文件 13 e 提取文件無需壓縮文件的路徑 14 f 更新壓縮文件裏的文件 15 i[par]=<str> 查找壓縮文件中的字符串 16 k 鎖定壓縮文件 17 l[t[a],b] 列出壓縮文件內容 [technical[all], bare] 18 m[f] 移動到壓縮文件 [僅文件] 19 p 打印文件到 stdout 20 r 修復壓縮文件 21 rc 重建丟失的分卷 22 rn 重命名已壓縮文件 23 rr[N] 添加數據恢復記錄 24 rv[N] 建立恢復分卷 25 s[name|-] 轉換壓縮文件爲自解壓或自解壓轉換爲壓縮文件 26 t 測試壓縮文件 27 u 更新壓縮文件中的文件 28 v[t[a],b] 詳細列出壓縮文件內容 [technical[all],bare] 29 x 使用完整路徑提取文件 30 31 <參數> 32 - 中止參數掃描 33 @[+] 禁用 [啓用] 文件列表 34 ac 壓縮或解壓後清除存檔屬性 35 ad 添加壓縮文件名到目標路徑 36 ag[格式] 使用當前日期生成壓縮文件名 37 ai 忽略文件屬性 38 ao 添加具備壓縮屬性的文件 39 ap<格式> 添加路徑到壓縮文件中 40 as 同步壓縮文件內容 41 c- 禁用註釋顯示 42 cfg- 禁用讀取配置 43 cl 轉換名稱到小寫 44 cu 轉換名稱到大寫 45 df 壓縮文件後刪除原來的文件 46 dh 打開已共享文件 47 dr 刪除文件到回收站 48 ds 對固實壓縮文件禁用名稱排序 49 dw 壓縮文件後清除文件 50 e[+]<attr> 設置文件排除和包含屬性 51 ed 不要添加空目錄 52 en 不要放置 '壓縮文件結束' 區塊 53 ep 從名稱裏排除路徑 54 ep1 從名稱裏排除基目錄 55 ep2 擴展路徑到完整路徑 56 ep3 擴展路徑爲完整路徑包括驅動器盤符 57 f 更新文件 58 hp[password] 加密文件數據和文件頭 59 ht[b|c] 爲文件校驗和選擇哈希類型 [BLAKE2,CRC32] 60 id[c,d,p,q] 禁用信息 61 ieml[addr] 經過電郵發送壓縮文件 62 ierr 發送全部消息到 stderr 63 ilog[name] 記錄錯誤到文件(僅註冊版本) 64 inul 禁用全部消息 65 ioff 完成操做後關閉電腦 66 isnd 啓用聲音 67 k 鎖定壓縮文件 68 kb 保留損壞的已解壓縮文件 69 log[f][=name] 將名稱寫入日誌文件 70 m<0..5> 設置壓縮級別(0-存儲...3-默認...5-最大) 71 ma[4|5] 指定壓縮格式的一個版本 72 mc<par> 設置高級壓縮參數 73 md<n>[k,m,g] 字典大小顯示爲 KB, MB 或 GB 74 ms[ext;ext] 指定要存儲的文件類型 75 mt<threads> 設置線程數 76 n<file> 額外的包含過濾器的文件 77 n@ 從 stdin 讀取額外的過濾器掩碼 78 n@<list> 從列表文件讀取額外的過濾器掩碼 79 o[+|-] 設置覆蓋模式 80 oc 設置 NTFS 壓縮屬性 81 oh 將硬連接保存爲連接而非文件 82 oi[0-4][:min] 將徹底相同的文件保存爲引用 83 ol[a] 將符號連接做爲連接處理 [絕對路徑] 84 or 自動重命名文件 85 os 保存 NTFS 流 86 ow 保存或恢復文件全部者和組 87 p[password] 設置密碼 88 p- 不查詢密碼 89 qo[-|+] 添加快速打開信息 [無|強制] 90 r 遞歸子目錄 91 r- 禁用遞歸 92 r0 僅爲通配符名稱遞歸子目錄 93 ri<P>[:<S>] 設置優先級 (0-默認,1-最小..15-最大) 和睡眠時間爲 ms 94 rr[N] 添加數據恢復記錄 95 rv[N] 建立恢復分卷 96 s[<N>,v[-],e] 建立固實壓縮文件 97 s- 禁用固實壓縮文件 98 sc<chr>[obj] 指定字符集 99 sfx[name] 建立自解壓文檔 100 si[name] 從標準輸入 (stdin) 讀取數據 101 sl<size> 處理小於指定大小的文件 102 sm<size> 處理大於指定大小的文件 103 t 壓縮文件後測試文件 104 ta<date> 處理在 <日期> 以後修改過的文件,以 YYYYMMDDHHMMSS 格式 105 tb<date> 處理在 <日期> 以前修改過的文件,以 YYYYMMDDHHMMSS 格式 106 tk 保存原來的壓縮文件時間 107 tl 設置壓縮文件時間爲最新的文件 108 tn<time> 處理比 <時間> 較新的文件 109 to<time> 處理比 <時間> 較舊的文件 110 ts<m,c,a>[N] 保存或恢復文件時間(修改,建立,訪問) 111 u 更新文件 112 v<size>[k,b] 建立分卷大小爲=<size>*1000 [*1024, *1] 113 vd 建立分卷以前清除磁盤內容 114 ver[n] 文件版本控制 115 vn 使用舊式的分卷命名方案 116 vp 建立每一個分卷以前暫停 117 w<path> 指定工做目錄 118 x<file> 排除指定的文件 119 x@ 讀取文件名以從 stdin 排除 120 x@<list> 排除指定列表文件裏列出的文件 121 y 對全部詢問假定選擇「是」 122 z[file] 從文件讀取壓縮文件註釋
..\WinRAR\unRar.exe:blog
UNRAR 5.30 beta 2 免費軟件 版權全部 (C) 1993-2015 Alexander Roshal 用法:unrar <命令> -<參數 1> -<參數 N> <壓縮文件> <文件...> <@列表文件...> <解壓路徑\> <命令> e 提取文件無需壓縮文件的路徑 l[t[a],b] 列出壓縮文件內容 [technical[all], bare] p 打印文件到 stdout t 測試壓縮文件 v[t[a],b] 詳細列出壓縮文件內容 [technical[all],bare] x 使用完整路徑提取文件 <參數> - 中止參數掃描 @[+] 禁用 [啓用] 文件列表 ac 壓縮或解壓後清除存檔屬性 ad 添加壓縮文件名到目標路徑 ag[格式] 使用當前日期生成壓縮文件名 ai 忽略文件屬性 ap<格式> 添加路徑到壓縮文件中 c- 禁用註釋顯示 cfg- 禁用讀取配置 cl 轉換名稱到小寫 cu 轉換名稱到大寫 dh 打開已共享文件 ep 從名稱裏排除路徑 ep3 擴展路徑爲完整路徑包括驅動器盤符 f 更新文件 id[c,d,p,q] 禁用信息 ierr 發送全部消息到 stderr inul 禁用全部消息 ioff 完成操做後關閉電腦 kb 保留損壞的已解壓縮文件 n<file> 額外的包含過濾器的文件 n@ 從 stdin 讀取額外的過濾器掩碼 n@<list> 從列表文件讀取額外的過濾器掩碼 o[+|-] 設置覆蓋模式 oc 設置 NTFS 壓縮屬性 ol[a] 將符號連接做爲連接處理 [絕對路徑] or 自動重命名文件 ow 保存或恢復文件全部者和組 p[password] 設置密碼 p- 不查詢密碼 r 遞歸子目錄 ri<P>[:<S>] 設置優先級 (0-默認,1-最小..15-最大) 和睡眠時間爲 ms sc<chr>[obj] 指定字符集 sl<size> 處理小於指定大小的文件 sm<size> 處理大於指定大小的文件 ta<date> 處理在 <日期> 以後修改過的文件,以 YYYYMMDDHHMMSS 格式 tb<date> 處理在 <日期> 以前修改過的文件,以 YYYYMMDDHHMMSS 格式 tn<time> 處理比 <時間> 較新的文件 to<time> 處理比 <時間> 較舊的文件 ts<m,c,a>[N] 保存或恢復文件時間(修改,建立,訪問) u 更新文件 v 列出全部分卷 ver[n] 文件版本控制 vp 建立每一個分卷以前暫停 x<file> 排除指定的文件 x@ 讀取文件名以從 stdin 排除 x@<list> 排除指定列表文件裏列出的文件 y 對全部詢問假定選擇「是」