robocopy

構文

ROBOCOPY コピー元 コピー先 [ファイル [ファイル]...] [オプション]

オプション

コピーオプション
オプション 機能 既定値
/S サブディレクトリをコピーする。空のディレクトリは除外  
/E サブディレクトリをコピーする。空のディレクトリも含む  
/PURGE 既にコピー元に存在しないコピー先のファイル/ディレクトリを削除  
/MIR ディレクトリ ツリーをミラー化する。これは/E /PURGEと同等  
/DCOPY ディレクトリの、コピーするプロパティを指定 DA
/COPY ファイルの、コピーするプロパティを指定
  • D … Data
  • A … Attributes
  • T … Time stamps
  • S … NTFS access control list (ACL)
  • O … Owner information
  • U … Auditing information
DAT
/MOV コピー後にコピー元のファイルを削除することで、移動とする  
/MOVE コピー後にコピー元のファイルとディレクトリを削除することで、移動とする  
/Z 再起動可能モードで、ファイルをコピー  
/B バックアップ モードで、ファイルをコピー  
/ZB アクセスが許可されたならば再起動可能モード、さもなくばバックアップ モードとする  
     
再試行オプション
オプション 機能 既定値
/R:n 失敗したコピーに対する再試行数 1,000,000
/W:n 試行と再試行の間の待機する秒数 30
     
ログ オプション
オプション 機能
/LOG:ファイル ファイルに状態を出力する。既存のファイルに上書き
/LOG+:ファイル ファイルに状態を出力する。既存のファイルに追記
   

処理対象

クラス コピー元 コピー先 更新時刻 サイズ 属性 意味
Lonely ある ない コピー元にしかない
Tweaked ある ある 一致 一致 不一致 属性だけが異なる
Same ある ある 一致 一致 一致 同一
Changed ある ある 一致 不一致 変更されている
Newer ある ある 元>先 新しい
Older ある ある 元<先 古い
Extra ない ある コピー先にしかない
Mismatched ある ある 名前が同じだが、ファイルとフォルダのように種類が異なる
Windowsのrobocopyコマンドでコピーするファイルの種類を選択/変更する:Tech TIPS - @IT 打越浩幸 (2013/09/27)

既定ではChanged、Newer、Olderだけが対象のため、これを変更するにはオプションを指定します。

ファイル選択オプション
オプション 機能
/XC Changed (変更されたファイル) を除外
/XN Newer (新しいファイル) を除外
/XO Older (古いファイル) を除外
/XX Extra (コピー先にだけ存在するファイルとディレクトリ) を除外
/XL Lonely (コピー元にだけ存在するファイルとディレクトリ) を除外
/IS Same (同一ファイル) を含む
/IT Tweaked (異常なファイル) を含む

用語

実行時

英語、日本語環境での表記の相違
クラス 英語 日本語
Directory File ディレクトリ ファイル
Lonely New Dir New File 新しいディレクトリ 新しいファイル
Tweaked - Tweaked - マイナー変更した
Same - Same - 同じ
Modified - Modified - 更新済み
Changed - Changed - 変更済み
Newer - Newer - 新しい
Older - Older - 古い
Extra EXTRA Dir EXTRA File EXTRA Dir EXTRA File
Mismatched MISMATCH 不一致
日本語環境でRobocopyを実行した時のクラス表記

実行結果

項目 意味
合計 (Total)  
コピー済み (Copied) コピーした数
スキップ (Skipped) コピーの必要がなかった数
不一致 (Mismatch) 名前が同じだが、ファイルとフォルダのように種類が異なっていた数
失敗 (FAILED) コピーに失敗した数
Extras コピー先にだけあった数

利用例

ファイルのコピー

C:\>robocopy SRC DEST

SRCにあるすべてのファイルを、DESTにコピーします。

ファイルの移動

C:\>robocopy SRC DEST /MOV

SRCにあるすべてのファイルを、DESTに移動します。これは同一のドライブで合ってもパスを変更するのではなく、コピー後に元のファイルを削除することで移動とするため、ファイルサイズによっては時間がかかります。

指定ファイルのコピー

C:\>robocopy SRC DEST *.txt

SRCにある*.txtに一致するファイルを、DESTにコピーします。ワイルドカードには「*」または「?」を指定でき、これを指定しないときは*.*が既定値として用いられます。

サブディレクトリも含めたコピー

C:\>robocopy SRC DEST /E

SRCにあるすべてのファイルを、サブディレクトリ以下のファイルも含めてDESTにコピーします。

ミラーリング

C:\>robocopy SRC DEST /MIR /R:2 /W:3 /LOG:log.txt

SRCをDESTにミラー化します。このときSRCに存在しないファイルはDESTから削除され、コピーに失敗した場合は3秒間待機して2回まで再試行されます。また処理の状態が、log.txtに出力されます。

/Rと/Wのオプションを指定しないと、失敗した場合には既定で30秒間待機し、1,000,000回まで再試行されます。

トラブル対処法

コピー先のディレクトリが表示されない

コピー元にルートディレクトリを指定すると、コピー先のディレクトリにシステム ファイル属性が付与され、既定の設定ではエクスプローラなどで表示されなくなります。よってルートディレクトリを対象にコピーした後には、attribコマンドなどでこのシステム ファイル属性を解除します。robocopy後のコピー先フォルダが隠しフォルダになってしまう

RichCopy

robocopyをGUIから実行できるツールです。