WinRAR命令行版本 rar.exe使用詳解(適用Linux)

来源:https://www.cnblogs.com/x00479/archive/2019/08/05/11304732.html
-Advertisement-
Play Games

RAR 命令行語法: RAR.exe <命令> [ -<開關> ] <壓縮文件> [ <@列表文件...> ] [ <文件...> ] [ <解壓路徑\> ] 常用命令: ...


RAR 命令行語法

RAR.exe <命令>  [ -<開關> ]  <壓縮文件>  [ <@列表文件...> ]   [ <文件...> ]  [ <解壓路徑\> ]

常用命令

a         添加文件到壓縮文件中。
          例子:
            1)  從當前目錄添加所有的 *.hlp 文件到 help.rar 壓縮文件
                rar a help *.hlp
            2)  如果目錄包含文件掩碼或以反斜線結尾,將會應用普通的規則,你需要指定 -r 開關來處理它的子目錄。
                下列命令會把 Bitmaps 目錄中除了子目錄外的所有文件添加,因為未指定開關 -r:
                rar a Pictures.rar Bitmaps\*

d 從壓縮文件中刪除文件。請註意,如果這個命令導致壓縮文件中所有文件全部刪除,這個空的壓縮文件將被刪除。

e      解壓文件到當前目錄。

f      更新壓縮文件中的文件。 更新打包到壓縮文件後被改變的文件。這個命令不向壓縮文件中添加新文件。

u      更新壓縮文件中的文件。添加不在壓縮文件中的文件和更新打包後改變了的文件。

m[f]  移動到壓縮文件中[只用於文件]。移動文件和目錄會使壓縮操作完成後它們被刪除。如果使用變數'f'和/或應用開關'-ed',則不刪除目錄。

v[t,b]  詳細列出壓縮文件內容[技術信息]。文件列出所使用的格式:絕對路徑名,文件註釋,原始和壓縮後的大小,壓縮率,最近更新日期和時間,屬性,CRC,壓縮方式和解壓所需的最小RAR版本。當使用't'變數時可選技術信息(主操作系統,固實標誌和老的文件版本標記)顯示。變數 'b' 強制 RAR 只輸出單純的文件名,而沒有其他任何的附加信息。
列出所有壓縮捲的內容,使用星號('*')代替壓縮文件擴展名或使用'-v'開關。
例子:
1) 列出 system.rar 壓縮文件的內容 (技術信息)並使用重定向符輸出到文件 techlist.lst 中
rar vt system >techlist.lst
2) 列出 tutorial.rar 壓縮文件的內容 (單純文件名模式)
rar vb tutorial

x        帶絕對路徑解壓
例子:
rar x test.rar testDir\
註意,目錄名後面要跟\符號,如果沒有testDir這個文件夾,會先自動創建。
如果文件已存在,若要解壓後覆蓋文件,則使用-o+開關,或者用-y開關。若不覆蓋則用 -o- 開關。

常用開關:

-ag[格式]
        使用當前的日期和時間生成壓縮文件名。
當創建壓縮文件時附加當前日期字元串到壓縮文件名上。用於每日備份。
附加的字元串格式有幾種可選的格式參數定義或使用"YYYYMMDDHHMMSS"。

字元串的格式可以包含下列字元:
Y - 年
M - 月
MMM - 使用文本字元串作為月名(Jan,Feb,等.)
W - 年的第幾周 (每星期從星期一開始)
A - 星期幾 (星期一 -1,星期日 - 7)
D - 月的第幾天
E - 年的第幾天
H - 小時
M - 分 (如果在小時後,被作為分鐘對待)
S - 秒
N - 壓縮文件數。RAR 搜索要生成的名字的文件是否存在,如果發現它已經存在,將遞增一個壓縮文件數字,直到生成一個唯一的名字。
'N' 格式化字元在創建捲時不被支持。

上面列出的每個字元串僅表示添加到壓縮文件名中的一個字元。例如,使用  WW 表示 2 數字的星期或 YYYY 定義 4 數字的年。
如果在格式化字元串的第一個字元是'+',日期字元串和基本壓縮文件名位置交換,所以日期將在壓縮文件名之前。
格式化字元串可以包含在 '{' 和 '}' 包含的可選字元。此文本插入到壓縮文件名中。
所有其它字元被不變地添加到文件名上。
如果你需要更新已經存在的壓縮文件,小心使用 -ag 開關。依賴於以前使用的 -ag 傳送的格式化字元串和時間,生成的和現有的壓縮文件名可能不匹配。在這種情況下 RAR 會創建一個新的壓縮文件,而不是更新現有文件。

例子:
1) 使用預設 YYYYMMDDHHMMSS 格式
rar a -ag backup
2) 使用 DD-MMM-YY 格式
rar a -agDD-MMM-YY backup
3)  使用 YYYYMMDDHHMM 格式,替換'backup'之前的日期
rar a -ag+YYYYMMDDHHMM backup
4)  使用 YYYY-WW-A 格式,包含區段描述
rar a -agYYYY{year}-WW{week}-A{wday} backup
5)  使用 YYYYMMDD 和壓縮文件數。它允許你在同一天使用 -agyymmdd-nn 數次,每一個新的壓縮文件名都將包含一個新的遞增數字。
rar a -agYYYYMMDD-NN backup

註意:以上命令會生成文件名為backup{日期字元串}.rar的壓縮包,backup也可以是別的自定義名字。
若想文件名中只保留日期,只需不寫backup只寫.rar即可:rar.exe a –agYYYY-MM-dd  .rar

-ed 不添加空目錄
這個開關指出空目錄不被存儲到被創建的壓縮文件中。當解壓這樣一個壓縮文件時, RAR 會基於他們內部的文件路徑創建非空的目錄。關於空目錄的信息丟失。非空目錄除了名字外(訪問許可權, 流, 等。)其他所有屬性全部丟失, 所以只有在你不需要保留這樣的信息時使用此開關。
如果 -ed 和 'm' 命令或 -df 開關一起被使用,RAR 將不能移除空的目錄。

-hp[p]  加密文件數據和頭。
這個開關和 -p[p] 類似,但是開關 -p 只加密文件數據,而使文件名等其它信息可見。這個開關加密所有包括文件數據、文件名、大小、屬性、註釋和其它塊等所有可感知壓縮文件區域,所以它提供了更高的安全等級。在壓縮文件中使用-hp 加密,沒有密碼甚至不可能查看文件列表。

例子:
rar a -hpfGzq5yKw secret report.txt #將添加文件 report.txt 到加密的壓縮文件secret.rar中,使用密碼'fGzq5yKw'

-m<n>   設置壓縮模式:
        -m0   存儲      添加到壓縮文件時不壓縮文件。
        -m1   最快      使用最快方式(低壓縮)
        -m2   較快      使用快速壓縮方式
        -m3   標準      使用標準(預設)壓縮方式
        -m4   較好      使用較好壓縮方式(較好壓縮,但是慢)
        -m5   最好      使用最大壓縮方式(最好的壓縮,但是最慢)

        如果沒有指定這個開關,RAR使用-m3方式(標準壓縮)。
        預設情況下,RAR 在 -m1 和 -m2 模式中只使用常規壓縮演算法,高級演算法像聲音和真彩處理只有在 -m3..-m5 模式下才啟用,提升的文本壓縮只有在 -m4..-m5 中才被激活。預設值可以使用 -mc 開關替代。

-ms[列表]     指定存儲文件類型。
        指定不壓縮而直接存貯的文件類型。這個開關被用來存儲已經壓縮的文件,這將幫助增加壓縮速度,而不會顯著的減小壓縮率。
        可選參數 <列表> 參數定義使用分號隔開的文件擴展名列表。例如,-msrar;zip;jpg 將強制RAR不壓縮直接存儲所有的RAR和ZIP壓縮文件和JPG 圖像。它也允許在列表中指定通配符文件掩碼,所以 -ms*.rar;*.zip;*.jpg 也可以工作。
        如果 <列表> 沒有被指定,-ms 開關將使用預設的包含下列文件類型的擴展設置:7z, ace, arj, bz2, cab, gz, jpeg, jpg, lha, lzh, mp3,rar, taz, tgz, z, zip

-mt<線程> 設置線程數。僅可用於 Window 版本。
        <線程> 參數可以是從 0 到 16 的值。它定義對於壓縮演算法活動線程的推薦數。如果它大於 0,RAR 會使用多線程版本的壓縮演算法,在多處理器系統上提供更高的速度。真實的活動線程數可能和指定的不同。
        如果 <線程> 是 0,RAR 會使用單線程壓縮演算法。
        改變 <線程> 參數輕微影響壓縮率,所以如果所有其它壓縮參數相等而使用不同的 -mt 開關創建的壓縮文件不會解壓得一樣連貫。
        如果沒有指定 -mt 開關,RAR 會嘗試檢測可用的處理器的數量並自動選擇優化的線程數。

-or     如果相同名字的文件已經存在則自動重命名解壓的文件。重命名文件將得到象 'filename(N).txt' 的名字,'filename.txt' 的位置是原始的文件名,如果文件存在 'N' 是從 1 增加數字。

-o[+|-] 設置覆蓋模式。可以在解壓或更新文件時使用。下列模式可用:
        -o      覆蓋前詢問(預設用於解壓文件);
        -o+      (預設用於更新的壓縮文件);
        -o-      跳過已存在的文件。

        -o+      覆蓋已存在的文件。
        -o-      不覆蓋已存在的文件。

-p[p]   壓縮時,使用字元串<p>作為密碼加密文件。密碼大小寫敏感。如果你在命令行忽略密碼,你會看到一個輸入密碼的提示。
        例子:
        rar a -pmyhoney secret1 *.txt #添加 *.txt文件並用密碼"myhoney"加密

-r      包含子文件夾,可以使用命令:a,u,f,m,x,e,t,p,v,l,c,cf 和 s.
        當使用命令 'a','u','f','m' 將處理在所有子目錄中以及當前工作目錄的中的文件。
        當使用命令 x,e,t,p,v,l,c,cf 或 s 將處理在子目錄以及當前工作目錄中所有壓縮文件。

-r-     禁用遞歸。
        在某些情況下,即使沒有指定 -r 開關 RAR 也會自動啟用遞歸。開關 -r- 禁止它。
        壓縮時如果你指定了目錄名,目錄名不包含通配符,即使 -r 開關沒有指定,預設 RAR 添加目錄的內容。如果磁碟根目錄沒有把通配符作為文件掩碼指定,RAR 也會自動啟用遞歸。開關 -r- 禁用此行為。

        例子:
        rar a -r- arc dirname # 命令僅會添加空目錄 'dirname' 目錄並忽略它的內容
        rar a -r- arc c:\ # 會僅壓縮 c: 根目錄的內容並不會包含子目錄

-ta<日期>    只處理指定日期之後修改的文件。
        日期字元串的格式是 YYYYMMDDHHMMSS。它允許在日期字元串中插入'-' 或 ':'的分隔符,並忽略後部區域。
例如,下列開關是正確的: 
        -ta2001-11-20 在內部它被轉換成 -ta20011120000000 ,並作為 "從2001年11月20日0時0分0秒後修改的區域" 對待。

-tb<日期>    只處理指定日期之前修改的文件。開關的格式和 -ta<日期> 相同。

-tn<時間>    處理指定時間以後的新文件。時間字元串格式時:
[<ndays>d][<nhours>h][<nminutes>m][<nseconds>s]
        例如,使用開關 -tn15d 來處理更新了15天的文件,-tn2h30m 來處理更新了2小時30分的文件。

-to<時間>    處理指定時間以前的舊文件。開關的格式和 -tn<時間> 相同。

-x<f> 排除指定的文件 <f>,通配符可以用在名稱和文件掩碼的文件部分。你可以數次指定開關'-x'。
        如果掩碼包含通配符,它應用到當前目錄和它的子目錄。沒有通配符它不遞歸,所以如果你要在所有文件夾中排除某些“文件名”,你需要指定兩個掩碼:用於當前目錄的“文件名”和用於子目錄的“*\filename”。如果你知道一個文件的確切路徑,你可以是使用“路徑\文件名”語法來僅排除“文件名”的此副本。如果你在解壓一個壓縮文件時使用 -x路徑\文件名 語法,“路徑”必須是一個壓縮文件內的路徑,而不是在解壓後的磁碟上的文件路徑。

        例子:
        1) rar a -r -x*.bak -x*.rar rawfiles # *.bak 和 *.rar 不會添加到 rawfiles 中
        2) rar a -r -x*\temp -x*\temp\* savec c:\* # 壓縮 C: 上除了 Temp 文件夾中的臨時目錄和文件外的所有文件
        3) rar x -x*.txt docs # 從 docs.rar 解壓除了 *.txt 外的所有文件

-y      對於所有詢問全部回答是。

-?      顯示命令和開關的幫助。和沒有參數或輸入非法命令行選項時相同。

--      停止開關掃描
        這個開關告訴 RAR 命令行中沒有更多的開關了。如果壓縮文件或文件名以 - 符號開頭,可以使用它。沒有'--'開關,這樣的名字將被作為開關對待。

 返回值:

 RAR 成功操作後返回 0 。非 0 返回碼意味著操作由於某種錯誤被取消:

    255   用戶中斷         用戶中斷操作

      9   創建錯誤         創建文件錯誤

      8   記憶體錯誤         沒有足夠的記憶體進行操作

      7   用戶錯誤         命令行選項錯誤

      6   打開錯誤         打開文件錯誤

      5   寫錯誤           寫入磁碟錯誤

      4   被鎖定壓縮文件   試圖修改先前使用 'k' 命令鎖定的壓縮文件

      3   CRC 錯誤         解壓縮時發生一個 CRC 錯誤

      2   致命錯誤         發生一個致命錯誤

      1   警告             沒有發生致命錯誤

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • NetCore的Docker部署 一、NetCore與Docker Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的鏡像中,然後發佈到任何流行的 Linux或Windows 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何介面 。 微軟的 ...
  • DtatTable 在命名空間System.Data下,NetCore2.0及以上支持。但是2017DataTable沒有可視化工具,我也沒有深研究直接下載的VS2019。然後在網上早了個SQLHelper直接用上了。 示例代碼:https://github.com/TengshengHou/Net ...
  • 使用PictureBox和TextBox組合控制項的形式完成一個自定義的帶圖片的文本輸入框。 ...
  • 示例:ASP.NET MVC asp.net mvc已經內部實現了對配置appsettings.json文件的使用,builder預設支持熱更新。 使用示例: 假設appsettings.json內容為: { "Logging": { "LogLevel": { "Default": "Warnin ...
  • 原文地址:https://www.cnblogs.com/gracejiang/p/6109085.html 一、問題描述 OS:centos 原因是拷貝虛擬機造成的。 使用vmworkstation打開虛擬機的時候,要選擇copy而非move。 二、解決描述 網路上解決步驟各異,其實就一句話。只要 ...
  • 原文鏈接:https://blog.csdn.net/lsm135/article/details/51824132#commentBox 1、編輯 ifcfg-eth0 文件,vim 最小化安裝時沒有被安裝,需要自行安裝不描述。 [root@root123 ~]# vim /etc/sysconf ...
  • [toc] NFS 共用存儲,文件伺服器 NFS是Network File System的縮寫及網路文件系統。NFS主要功能是通過區域網絡讓不同的主機系統之間可以共用文件或目錄。NFS系統和Windows網路共用、網路驅動器類似, 只不過windows用於區域網, NFS用於企業集群架構中, 如果是 ...
  • 最近筆試遇到一道題,關於Linux命令的,題目如下 下麵兩條命令分別會有怎樣的輸出 echo hello 1>&2 |grep aaa echo hello 2>&1 |grep aaa A、兩個均輸出hello B、第一個無輸出,第二個輸出 hello C、第一個輸出hello,第二個無輸出 D、 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...