📋
Windowsで大量データをコピーするときに使うコマンド
大容量データのコピーに適したrobocopyコマンド
Windowsで、バックアップなどのために大量・大容量のファイルコピーを行う場合は、標準のcopyコマンドより高機能なrobocopyコマンドを使うことができます。
robocopyコマンドのおすすめオプション
私の場合、大量データを単純にコピーしてバックアップするときは以下のオプションで実行しています。
-
/s
:サブディレクトリを含めてコピー(空のフォルダは除外) -
/e
:すべてのサブディレクトリをコピー(空のフォルダも含む) -
/TEE
:ログファイルへの出力と同時に画面にも表示 -
/log
:指定したファイルにログを出力
上記のオプションで、コピー元に存在するフォルダ・ファイルの全量をコピーし、コピー実行中はコンソールおよびログファイルで進行状況を確認することができます。
使用例
具体的なコマンドは以下の様になります。
robocopy "C:\Source Folder" "D:\Dest Folder" /s /e /TEE /log:"C:\Logs\backup_log.txt"
もちろんネットワークフォルダを指定することも可能です。
robocopy "C:\Project\Mydata" "\\SERVER\Backup\MyData" /s /e /TEE /log:"C:\Logs\network_backup.txt"
copyコマンドとrobocopyの違い
copyコマンドは基本的なファイルコピー機能だけを持つ一方で、robocopyは以下の特徴を持っています。
- ネットワークの切断に強い(再開可能)
- ファイルの属性やタイムスタンプを保持
- 詳細なログ出力が可能
- 多様なオプションによる柔軟な動作設定
参考サイト
robocopyでは他にも多くのオプションが利用可能です。
オプションによっては、コピー先に存在しているコピー元には無いファイルを削除する(=フォルダ内容を同期する)ような操作をすることもできます。
Discussion