📋

Windowsで大量データをコピーするときに使うコマンド

2025/02/03に公開

大容量データのコピーに適した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では他にも多くのオプションが利用可能です。
オプションによっては、コピー先に存在しているコピー元には無いファイルを削除する(=フォルダ内容を同期する)ような操作をすることもできます。
https://atmarkit.itmedia.co.jp/ait/articles/0704/20/news130.html

Discussion