PR

WinRARをコマンドラインから使う

自動バックアップなどをしようかなと思ったところ、WinRARはコマンドライン(コンソール)が使えるということなので調べたけれど、あまり詳し く記載されたページがなかった。おそらく探し方が良くないのと、コンソール版を使うような人には必要ないからだろう。マニュアルから自分が必要だと思うも のをいくつかメモしておく。あくまで自分用なので、詳しい説明は最新のマニュアルを適宜参照すること。

※ RAR Archiver!ユーザーマニュアル(RAR 3.93 コンソール版)より抜粋(一部変更)

文法

RAR <コマンド>  [ -<スイッチ> ]  <書庫>  [ <@リストファイル…> ][ <ファイル…> ]  [ <解凍先パス\> ]

コマンド

  • a       書庫にファイルを圧縮します。
  • d       書庫からファイルを削除します。
  • f       書庫内のファイルを最新にします。書庫がパックされてから変更されたファイルを更新します。このコマンドは新しいファイルは追加しません。
  • k       書庫をロックします。書庫を変更するいかなるコマンドも無視されるようになります。
  • l[t,b]  書庫の内容をリストします[テクニカル]。ファイルを、ファイルパスを除いて v コマンドと同様にリストします。つまり、ファイル名だけが表示されます。
  • m[f]    書庫に移動します[ファイルのみ]。
  • rr[N]   データリカバリレコードを付加します。このコマンドを .bat や .cmd ファイルで実行する場合は、rr3%ではなく、rr3%% としなければなりません。
  • s[name] 書庫を自己解凍書庫に変換します。
  • s-      存在する自己解凍書庫から自己解凍モジュールを取り除きます。
  • t       書庫ファイルをテストします。
  • u       書庫のファイルを更新します。まだ圧縮されていないファイルと書庫に圧縮されてから変更されたファイルを更新します。

スポンサードリンク

スイッチ (コマンドと同時に使用します)

  • -ag[format]現在の日時から書庫名を生成します。パラメータが省略された場合の”YYYYMMDDHHMMSS”で定義されます。
  • -as     書庫の内容を同期させます。圧縮するときにこのスイッチが使われれば、圧縮するファイルのリストに存在しない書庫内のファイルは削除されます。書庫の内容 と圧縮するディレクトリを同期させるために -u (更新) と一緒にこのスイッチを使うと便利です。これは新しい書庫を作成するのに似ていますが、1つ重要な違いがあります。最後のバックアップから変更されたファ イルが無ければ、この処理は新しい書庫を作成するよりずっと早く実行されます。
  • -df     圧縮後にファイルを削除します。書庫にファイルを移動します。このスイッチを A コマンドと一緒に使用すると M コマンドと同じ動作になります。
  • -dh     共有ファイルを開きます。他のアプリケーションが書き込み用に開いているファイルを処理することが可能です。このスイッチは、アプリケーションがファイルを読込可能にしているときに役に立ちますが、ファイルアクセスのすべての種類を禁止している場合は、ファイルを開くことはできません。このオプションは危険です。他のアプリケーションにより同時に更新されているファイルを圧縮することができるからです。このオプションは慎重に使用してください。
  • -dr     圧縮後にファイルをゴミ箱に移動して削除します。Windows版でのみ利用できます。
  • -dw     圧縮後にファイルをワイプ消去圧縮後にファイルを削除します。削除後の復元ができないように、削除の前にファイルデータを0で上書きします。
  • -ep     名前からパスを除外します。このスイッチはパス情報を含めずにファイルを書庫に圧縮できるようにします。これは複数のファイルが同じ名前で存在する結果になるかもしれません
  • -ep1    名前からベースディレクトリを除外します。コマンドラインで入力されたパスを格納しません。
  • -ep2    フルパスを展開します。圧縮時にファイルのフルパスを格納します。(ドライブレターと先頭の \ は除きます)
  • -ep3    ドライブレターを含むフルパスを展開します。Win32 版のみです。このスイッチを圧縮時に使うとドライブレターを含むフルパスを格納します。このスイッチは同じ書庫に複数のディスクのバックアップを取るのに役立ちます。
  • -f      ファイルを最新にします。書庫の解凍と作成で使うことができます。コマンド列 “a -f” は、コマンド f に相当します。コマンド m と mf でスイッチ -f を使うことができます。スイッチ -f をコマンド x、e で使った場合、古いファイルだけが書庫から解凍されたファイルで置き換えられます。
  • -hp[p]  ファイルヘッダも暗号化します。このスイッチは、-p[p] に似ています。しかし、-p はファイルデータのみを暗号化してファイル名のような情報は見えるままになっています。
  • -id[c,d,p,q]メッセージを表示しません。
  • -ieml[.][addr]書庫をメール送信します。Win32 版のみです。-ieml に “.” (ドット) を付加した場合は、メールに正しく添付された後、書庫は削除されます。
  • -ierr   すべてのメッセージを標準出力に出力します。
  • -inul   すべてのメッセージを出力しません。
  • -ioff   処理が完了した後に PC の電源をオフにします。ハードウェアが電源断の機能をサポートしている必要があります。Win32 だけでサポートされています。
  • -k      書庫をロックします。書庫を変更するすべてのコマンドが無視されるようになります。
  • -kb     解凍時に壊れたファイルを残します。RAR はデフォルトで解凍後に CRC エラーのファイルは削除します。スイッチ -kb を指定すると CRC エラーのファイルを削除しません。
  • m<n>   圧縮方法を指定します。
    • -m0   無圧縮    書庫に格納するときに圧縮しません
    • -m1   最速      最も速い方法を使用します(圧縮率は低下します)
    • -m2   速度重視  速度重視の方法を使用します
    • -m3   標準      標準の圧縮方法を使用します(デフォルト)
    • -m4   圧縮重視  圧縮率を重視した方法を使用します(圧縮率が高くなります。しかし遅いです)
    • -m5   最高圧縮  最も圧縮率が高まる圧縮方法を使用します(さらに少し圧縮率が高くなります。しかし最も遅くなります)
  • -ms[list]圧縮しないファイルの種類を指定します。
  • -mt<threads>スレッドの数をセットします。Windows版でのみ利用できます。<threads> パラメータは0から6までを指定できます。-mt スイッチを指定しないと、RARはプロセッサの数を検出して自動的に最適なスレッドの数を選択します。
  • -n<f>   指定したファイルだけを含めます。ファイル名にはワイルドカードを使うことができます。’-n’スイッチは何回でも指定できます。
  • -n@<lf> リストファイルで指定したファイルだけを含める-n<file> スイッチに似ています。しかし、処理に含めるファイルマスクはリストファイルから読み込みます。
  • -ol     ファイルの代わりにシンボリックリンクを関連付けて保存します。Unix 版のみです。
  • -or     同じ名前のファイルがすでに存在するときに自動的に名前を変更して解凍できます。ファイル名は’filename(N).txt’のように変更されます。 ‘filename.txt’は元のファイル名で、’N’は1から始まる数字です。同じ名前で存在する場合には数字を増やします。
  • -ow     圧縮時にはファイルセキュリティ情報を保存し、解凍時にはそれを復元します。
  • -o[+|-] 上書きモードを指定します。解凍時と書庫の更新時に使用されます。
  • -p[p]   圧縮時に文字列 <p> をパスワードとしてファイルを暗号化します。
  • -p-     パスワードを問い合わせません。
  • -r      サブディレクトリを再帰的に処理します。以下のコマンドで使用できます。a, u, f, m, x, e, t, p, v, l, c, cf, s
  • -r-     再帰を無効にします。-r スイッチがなくても、いくつかのケースではRARは自動的に再帰します。スイッチ -r- はそれを禁止します。
  • -r0     -r に似ています。しかし、コマンド a, u, f, m で使用した場合、ワイルドカード文字 *, ? で含まれている名前のサブディレクトリのみを処理します。
  • -ri<p>[:<s>]優先度とスリープタイムを設定します。Windows 版のみで有効です。このスイッチは、マルチタスク環境でのRARのシステム負荷を調節するために使用します。
    • <p> に指定できるタスク優先度は 0 – 15 です。<p> を 0 にした場合は、RAR はデフォルトのタスク優先度を使用します。<p>に1をセットすると最も低い優先度になり、15をセットすると最も高い優先度になります。
    • スリープタイム <s> は 0 – 1000 (ミリ秒)の値です。これは、圧縮中や解凍中に読み込みまたは書き込み処理を行うたびに、RAR がシステムに返す時間です。<s> を0以外にすると、システム負荷をより減らす必要があるときに、圧縮時の<p>パラメータよりも役立つかもしれません。
  • -rr[N]  リカバリレコードを付加します。このスイッチは、書庫の作成や更新のときに書庫にデータリカバリレコードを付加するときに使います。
  • -sfx[name]自己解凍書庫を作成します。このスイッチを新しい書庫を作成するときに使用した場合、自己解凍書庫(default.sfx か、スイッチで指定したモジュールを使用します)を作成します。
  • -si[name]書庫の作成時に、stdin (標準入力)からデータを読み込みます。このスイッチは -v と同時に使うことはできません。
  • -t      圧縮後にファイルをテストします。このスイッチは move コマンドと組み合わせると特に役に立ちます。この場合、書庫のテストが成功したときだけ、ファイルは削除されます。
  • -ta<date>指定した日付よりも後に修正したファイルだけを処理します。日付文字列の形式は YYYYMMDDHHMMSS です。’-‘や’:’のセパレータを入れることおよび後方を省略することができます。
  • -tb<date>指定した日付よりも前に修正したファイルのみを処理します。日付文字列の形式は -ta<date> と同じです。
  • -tk     オリジナルの書庫日時を保ちます。RAR が書庫を変更するときに書庫日付を更新しないようにします。
  • -tl     書庫日時を最も新しいファイルにセットします。RAR が変更した書庫日時を、書庫の中の最も新しいファイルの日時にセットするように強制します。
  • -tn<time>指定された期間以内の新しいファイルを処理します。時間の形式は次の通りです。[<ndays>d] [<nhours>h][<nminutes>m][<nseconds>s]例えば、スイッチ -tn15d を使用すると 15日以内の新しいファイルを処理します。
  • -to<time>指定された期間以上過去のファイルを処理します。時間の形式は -tn<time> と同様です。
  • -ts<m,c,a>[N]ファイル日時(更新日時、作成日時、アクセス日時)を格納またはセットします。
  • -u      ファイルを更新します。書庫の解凍時と作成時に使用できます。コマンド文字列 “a -u” はコマンド u と同じであり、コマンドm と mf でも同じように使用できます。スイッチ -u が、 x か e で使用された場合、ディスクに存在しないファイルとディスクのものより新しいファイルが書庫から解凍されます。
  • -v      サイズ自動認識でボリュームを作成 またはすべてのボリュームをリスト表示
  • -v<size>[k|b|f|m|M|g|G]<size> * 1000 [* 1024 | * 1] のサイズでボリュームを作成します。デフォルトでは、このスイッチの <size> は 1000 バイトです(1024 バイトではありません)。
  • -vn     旧形式のボリューム名方式を使用マルチボリュームの最初のボリュームの拡張子は、.rar で、以下.R00 から .R99 まで番号を付けられます。ロングファイル名を使用できない MS-DOS で書庫を解凍しようとする場合に意味を持ちます。
  • -x<f>   指定したファイル <f> を除外します。ワイルドカードは名前とファイルマスクの一部分に使用することができます。スイッチ -x は何回でも指定できます。
  • -x@<lf> 指定したリストファイルを使ってファイルを除外します。リストファイルパラメータを指定しないで-x@を使った場合は、ファイル名はstdin(標準入力)から読み込みます。
  • -y      すべての質問に’はい’と答えます。

制限

  • パス名は、259 シンボルまでです。
  • コマンド a はボリュームを更新するためには使用できません。ボリュームは新規作成のみ可能です。

Exit コード

  • RAR は処理に成功するとゼロコード(0)で終了します。
  • 255   USER BREAK       ユーザーによる中止
  • 9   CREATE ERROR     ファイル作成エラー
  • 8   MEMORY ERROR     処理のための充分なメモリが足りません
  • 7   USER ERROR       コマンドラインのオプションが誤っています
  • 6   OPEN ERROR       オープンファイルエラー
  • 5   WRITE ERROR      ディスクの書き込みエラー
  • 4   LOCKED ARCHIVE   以前に k コマンドでロックされている書庫を更新しようとしました
  • 3   CRC ERROR        解凍時に CRC エラーが発生しました
  • 2   FATAL ERROR      致命的なエラーが発生しました
  • 1   WARNING          致命的ではないエラーが発生しました
  • 0   SUCCESS          処理が成功しました

コメント