category icon
2021-09-16
Windows

タイムスタンプを保持してミラーリングコピーする方法 (robocopy コマンド)

Windows 10 64bit
21H1
profile
hikaru
Software Developer / DIY'er

サブフォルダのデータを含めてタイムスタンプを保持してミラーリングコピーするコマンドです。サーバーのデータをバックアップしたい場合に活用できます。

shell
> robocopy "<コピー元のパス>" "<コピー先のパス>" /mir /dcopy:dat /log+:copy.log /tee

(1) robocopy <コピー元のパス> <コピー先のパス> コマンド

robocopy コマンドとはファイルサーバーや個人的なデータのバックアップを実現するために必要な機能を備えた Windows のコマンドとなります。
robocopy コマンド以外にファイルコピーを実現するコマンドには copyxcopy コマンドがありますが、これらにはミラーリングする機能はありません。

(2) /mir オプション

  • コピー元のファイルやサブフォルダを含むデータを、コピー先にミラーリングします
  • コピー先に 同一日付かつ同一サイズ のファイルが存在する場合は、コピーをスキップして処理時間を短縮してくれます。

(3) /dcopy:dat オプション

  • タイムスタンプを保持してコピーするために必要なオプションです。

(4) /log+:copy.log オプション

  • /log は robocopy コマンドの実行結果をログに出力するオプションです。
  • /log+ とすることで追記モードとなり、ファイルの末尾にログ内容が追加で書き込まれます。
  • :copy.log はログのファイル名を指定します。存在しなければ新規に作成されます。

(5) /tee オプション

  • ログファイルに出力するとともに、コマンドプロンプト画面にも結果を表示します。