Robocopyコマンドでフォルダをコピーしたらログにどのように表示されるか確認してみた
コピー元のファイルが削除されても、古いファイルに戻っても、コピー先に反映します。
名前が同じで更新日時もサイズも同じファイルはコピーをスキップしてくれます。
NTFSのアクセス権や所有権もコピーできます。
NTFSの機能(EFS)を使って暗号化されたファイルも暗号化されたままコピーできます。
詳細なログを記録する事も可能です。
そんなわけで日々のデータバックアップや、ファイルサーバーの移行などでrobocopyはお馴染みです。
しかしrobocopyを実行した時に表示されるログで、新しいファイルをコピーした場合、既存のファイルを上書きした場合、同じファイルなのでコピーをスキップした場合など、それぞれどのようなステータスが表示されるのかよくわかりませんでした。
なのでちょっと検証してみました。
これをやったのは3年近く前であり、画像はその時の物です。
環境:Windows Server 2016 (ワークグループ)
実行したコマンドはこれ
ROBOCOPY D:\Data01 D:\Data02 /E /B /SECFIX /EFSRAW /COPYALL /MIR /R:0 /W:0
オプション
オプション | 説明 |
/E | 空のディレクトリを含むサブディレクトリをコピーします |
/B | バックアップ モードでファイルをコピーします |
/SECFIX | スキップしたファイルも含むすべてのファイルのファイル セキュリティを修正します |
/EFSRAW | 暗号化されたすべてのファイルを EFS RAW モードでコピーします |
/COPYALL | ファイル情報をすべてコピーします (/COPY:DATSOU と同等) |
/MIR | ディレクトリ ツリーをミラー化します (/E および /PURGE と同等) |
/R:0 | 失敗したコピーに対する再試行数をゼロにする(既定値は1,000,000) |
/W:0 | 再試行と再試行の間の待機時間をゼロにする(既定値は30 秒) |
結果は以下の通りでした。
送り側と受け側の状況 | コピー結果 | ログ表示 | |
1 | 受け側に存在しない新規ファイルの場合 | ファイルをコピー(追加) | 「新しいファイル」と表示される コピー済みファイル1件 |
2 | 受け側が同一ファイルの場合 | (何もコピーしない) | 何も表示されない スキップ1件 |
3 | 受け側のファイルが古い場合 | ファイルをコピー(上書き) | 「新しい」と表示される コピー済み1件 |
4 | 受け側のファイルが新しい場合 | ファイルをコピー(上書き) | 「古い」と表示される コピー済み1件 |
5 | 受け側のみ存在する不要ファイルの場合 | 受け側フォルダからファイルを削除 | 「*EXTRA File」と表示される コピー済み1件 Extras 1件 |
6 | ファイルは同一だがアクセス権のみが違う場合 | アクセス権のみコピーする(*1) | 「更新済み」と表示される コピー済み1件 |
1)受け側に存在しない新規ファイルの場合
2)受け側が同一ファイルの場合
何もコピーされず、何も表示されない(スキップ1件)

3)受け側のファイルが古い場合
ファイルが上書きコピーされ、「新しい」と表示される(コピー済み1件)

4)受け側のファイルが新しい場合
ファイルが上書きコピーされ、「古い」と表示される(コピー済み1件)

5)受け側のみ存在する不要ファイルの場合
受け側からファイルが削除され、「*EXTRA File」と表示される(コピー済み1件、Extras 1件)

6)ファイルは同一だがアクセス権のみが違う場合
アクセス権のみがコピーされ、「更新済み」と表示される(コピー済み1件)

(参考1)Windows Serevr 2016のOSバージョン

(参考2)robocopy.exeのバージョン
