Robocopyのバッチを作成する
そのまま、コピー元、先をユーザーの環境に変更して、それ以外は、コピー&ペーストで利用ができるように、以下の2パターンのバッチを作成しました。
Robocopyコマンドの書式やオプションについては、以下の記事を参考にしてください。
ローカルドライブ間のデータ同期
こちらのバッチは、送信元が、CドライブのAフォルダで、送信先がEドライブのBフォルダで、同一ドライブ間の同期になってます。
※コピーは右上の「Copy」をクリックしたら、コピーができます。
@echo on @set str1=開始: @set str2=終了: @set str3=バックアップフォルダ名: @set str4=ステータス: @cd C:\DataBackUp\log echo %str1% %DATE% %TIME% > DataBackUp終了コード.txt echo %str3% Test >> DataBackUp終了コード.txt robocopy /mir C:\Aフォルダ E:\Bフォルダ /copy:dat /xo /np /ndl /r:3 /w:0 > DataBackUp.log if errorlevel 16 echo %str4% FATAL ERROR >> DataBackUp終了コード.txt & goto end if errorlevel 8 echo %str4% FAILED COPIES >> DataBackUp終了コード.txt & goto end if errorlevel 4 echo %str4% MISMATCHES >> DataBackUp終了コード.txt & goto end if errorlevel 2 echo %str4% EXTRA FILES >> DataBackUp終了コード.txt & goto end if errorlevel 1 echo %str4% COPY SUCCESSFUL >> DataBackUp終了コード.txt & goto end if errorlevel 0 echo %str4% NO CHANGE >> DataBackUp終了コード.txt & goto end :end echo %str2% %DATE% %TIME% >> DataBackUp終了コード.txt EXIT /B 0
ご自分の環境で使用したい場合は、以下、赤文字の送信元、送信先を変更をしてください。
送信元、送信先に関しては、フォルダパスをそのままコピー&ペーストをするのが確実です。
下記では、送信元 C:\Aフォルダ 送信先 E:\Bフォルダ になります。
robocopy /mir C:\Aフォルダ E:\Bフォルダ /copy:dat /xo /np /ndl /r:3 /w:0 > DataBackUp.log
ローカルドライブからファイルサーバ間のデータ同期
こちらのバッチは、送信元が、CドライブのAフォルダで、送信先が192.168.0.10のBackUpファイルサーバのBフォルダで、ローカルドライブからファイルサーバ間の同期になってます。
※コピーは右上の「Copy」をクリックしたら、コピーができます。
@echo on @set str1=開始: @set str2=終了: @set str3=バックアップフォルダ名: @set str4=ステータス: @cd C:\DataBackUp\log echo %str1% %DATE% %TIME% > DataBackUp終了コード.txt echo %str3% Test >> DataBackUp終了コード.txt robocopy /mir C:\Aフォルダ "\\192.168.0.10\BackUp\Bフォルダ" /copy:dat /xo /np /ndl /r:3 /w:0 > DataBackUp.log if errorlevel 16 echo %str4% FATAL ERROR >> DataBackUp終了コード.txt & goto end if errorlevel 8 echo %str4% FAILED COPIES >> DataBackUp終了コード.txt & goto end if errorlevel 4 echo %str4% MISMATCHES >> DataBackUp終了コード.txt & goto end if errorlevel 2 echo %str4% EXTRA FILES >> DataBackUp終了コード.txt & goto end if errorlevel 1 echo %str4% COPY SUCCESSFUL >> DataBackUp終了コード.txt & goto end if errorlevel 0 echo %str4% NO CHANGE >> DataBackUp終了コード.txt & goto end :end echo %str2% %DATE% %TIME% >> DataBackUp終了コード.txt EXIT /B 0
ご自分の環境で使用したい場合は、以下、赤文字の送信元、送信先を変更をしてください。
送信元、送信先に関しては、フォルダパスをそのままコピー&ペーストをするのが確実です。
下記では、送信元 C:\Aフォルダ 送信先 “\\192.168.0.10\BackUp\Bフォルダ” になります。
robocopy /mir C:\Aフォルダ "\\192.168.0.10\BackUp\Bフォルダ" /copy:dat /xo /np /ndl /r:3 /w:0 > DataBackUp.log
注意点としては、ローカルドライブの場合は、ダブルクォーテーションで送信元や送信先を囲むのは、不要ですが、ファイルサーバの場合は、ダブルクォーテーションで囲みます。
設定の手順
1.Cドライブに、DataBackUpというフォルダを作成して、その配下に、bat、logというフォルダを作成します。

2.DataBackUp.batというバッチファイルを作成します。作成の仕方としては、テキストファイルにて、DataBackUpというテキストファイルを作成して、最後の拡張子を.txtから.batにします。

3.DataBackUp.batを選択して、右クリック、編集を選択します。

4.Robocopyバッチのテキストをコピーして、開いたテキストファイルに貼り付けて、保存して、閉じます。

こちらでは、ローカルドライブ間のデータ同期を貼り付けています。
コピー元のCドライブのAフォルダには、試験用データとして、100GBのデータがあり、コピー先のEドライブのBフォルダは空の状態です。
5.DataBackUp.batをダブルクリックして実行させます。
Robocopyバッチ試験
本試験は、フォルダAに10GB×10のファイル、合計100GBのデータをフォルダBにRobocopyした結果を記載します。
PC環境は以下の通りです。
- CPU:Intel(R) Core(TM) i7 CPU 870 @ 2.93GHz 2.93 GHz
- RAM:16.0 GB
- ドライブは、C、EともSSD
試験結果
試験結果は、logフォルダにある「DataBackUp.log」と「DataBackUp終了コード.txt」を確認します。
DataBackUp.log を確認します。
------------------------------------------------------------------------------- ROBOCOPY :: Windows の堅牢性の高いファイル コピー ------------------------------------------------------------------------------- 開始: 2021年8月25日 7:18:51 コピー元 : C:\Aフォルダ\ コピー先 : E:\Bフォルダ\ ファイル: *.* オプション: *.* /NDL /S /E /DCOPY:DA /COPY:DAT /PURGE /MIR /NP /XO /R:3 /W:0 ------------------------------------------------------------------------------ 新しいファイル 10.0 g C:\Aフォルダ\Dummy1 新しいファイル 10.0 g C:\Aフォルダ\Dummy10 新しいファイル 10.0 g C:\Aフォルダ\Dummy2 新しいファイル 10.0 g C:\Aフォルダ\Dummy3 新しいファイル 10.0 g C:\Aフォルダ\Dummy4 新しいファイル 10.0 g C:\Aフォルダ\Dummy5 新しいファイル 10.0 g C:\Aフォルダ\Dummy6 新しいファイル 10.0 g C:\Aフォルダ\Dummy7 新しいファイル 10.0 g C:\Aフォルダ\Dummy8 新しいファイル 10.0 g C:\Aフォルダ\Dummy9 ------------------------------------------------------------------------------ 合計 コピー済み スキップ 不一致 失敗 Extras ディレクトリ: 1 0 1 0 0 0 ファイル: 10 10 0 0 0 0 バイト: 100.003 g 100.003 g 0 0 0 0 時刻: 0:08:08 0:08:08 0:00:00 0:00:00 速度: 219914983 バイト/秒 速度: 12583.636 MB/分 終了: 2021年8月25日 7:26:59
DataBackUp終了コード.txt を確認します。
開始: 2021/08/25 7:18:51.44 バックアップフォルダ名: Test ステータス: COPY SUCCESSFUL 終了: 2021/08/25 7:28:10.13
ステータスは、 COPY SUCCESSFUL で問題ないです。
時間も100GBコピーが約10分で完了しました。
SSD同士なので、早いですね。
ちなみに、ローカルドライブのSSDからファイルサーバのHDDへのコピーは、約45分でした。
Robocopyバッチをタスクスケジューラに登録して運用する記事も作成しました。
是非、参考にしてください。