恥は/dev/nullへ by 初心者

プログラミング初心者がのろのろと学んだことをつづっています♪

robocopyのコマンドオプション

昨年12月からWindowsを使い始めましたが、オンラインストレージにしかバックアップをしていなかったので、外付けHDDにもバックアップすることにしました。

バックアップ用のバッチファイルを作成しようとネットを調べていたら、Windowsにはrobocopyという便利なコマンドがあると知りました。

使ってみたら便利だったので、自分が使うかもしれないコマンドオプションだけメモとして残しておくことにしました。

 

<使っている>
/MIR      ミラーリング
/R:3      ファイルコピーに失敗した場合の再試行回数(この例だと3回)
/W:3      再試行する時の待ち時間(この例だと3秒待つ)
/LOG:     ログの出力先となるファイルを指定(上書き)
/NDL      ディレクトリ名をログに記録しない
/NP       バックアップの進行状況を表示しない

<たまに使うかも>
/L        バックアップのシミュレーションを行う
/XD       指定されたディレクトリを除外する
/XF       指定されたファイルを除外する(/R:0を使って飛ばしてもOK)

<ひょっとすると使うかも>
/TEE      ログをファイルだけでなくコンソール画面にも出力する
/LOG+:    ログの出力先となるファイルを指定(追記)
/UNILOG:  UNICODEでログを出力(上書き)  → 試しに使ったら、UTF-16LEになった。
/UNILOG+: UNICODEでログを出力(追記)
/NFL      ファイル名をログに記録しない

個人的に「/R:」オプションは必須だと思います。再試行回数のデフォルト値が100万回なので、回数を指定しないと危険です(汗)。

 

自分の使用例(抜粋)

rem Pictures Directory
robocopy C:\Users\name\Pictures\ D:\Backup\Pictures\ /MIR /R:3 /W:3 /NP /NDL /LOG:D:\Backup\robocopy_Pictures.log

 

バッチファイルの拡張子 

ネットによると、バッチファイルの拡張子は「.cmd」で良いみたいです(たとえば「roboco.cmd」など)。めちゃくちゃ古い記憶ではMS-DOSのバッチファイルの拡張子は「.bat」だったような気がするのですが、きっと気のせいでしょう。