robocopyは「Robust File Copy」の意味です。Use Robocopy to pre-seed files for DFS Replication | Microsoft Learn
ROBOCOPY コピー元 コピー先 [ファイル [ファイル]...] [オプション]
コピー元、コピー先にはディレクトリを指定します。ファイルを省略すると*.*となります。よって、
C:\>robocopy SRC DEST
とすると、ディレクトリSRCにあるすべてのファイルが、ディレクトリDESTにコピーされます。
| オプション | 機能 | 既定値 |
|---|---|---|
| /S | サブディレクトリをコピーする。空のディレクトリは除外 | |
| /E | サブディレクトリをコピーする。空のディレクトリも含む | |
| /PURGE | 既にコピー元に存在しないコピー先のファイル/ディレクトリを削除 | |
| /MIR | ディレクトリ ツリーをミラー化する。これは/E /PURGEと同等 | |
| /DCOPY | ディレクトリの、コピーするプロパティを指定 | DA |
| /COPY | ファイルの、コピーするプロパティを指定
|
DAT |
| /MOV | コピー後にコピー元のファイルを削除することで、移動とする | |
| /MOVE | コピー後にコピー元のファイルとディレクトリを削除することで、移動とする | |
| /Z | 再起動可能モード (restartable mode) で、ファイルをコピー。コピーが中断されたときは、最初からではなく、中断した場所から再開する | |
| /B | バックアップ モード (backup mode) で、ファイルをコピー。これによりアクセスをブロックする可能性のある、アクセス許可 (ACL) を上書きする ※ 権限がないと「エラー: ファイルのバックアップと復元のユーザー権利がありません。」として実行できない | |
| /ZB | アクセスが許可されたならば再起動可能モード、さもなくばバックアップ モードとする | |
| クラス | コピー元 | コピー先 | 更新時刻 | サイズ | 属性 | 意味 |
|---|---|---|---|---|---|---|
| Lonely | ある | ない | - | - | - | コピー元にしかない |
| Tweaked | ある | ある | 一致 | 一致 | 不一致 | 属性だけが異なる |
| Same | ある | ある | 一致 | 一致 | 一致 | 同一 |
| Changed | ある | ある | 一致 | 不一致 | - | 変更されている |
| Newer | ある | ある | 元>先 | - | - | 新しい |
| Older | ある | ある | 元<先 | - | - | 古い |
| Extra | ない | ある | - | - | - | コピー先にしかない |
| Mismatched | ある | ある | - | - | - | 名前が同じだが、ファイルとフォルダのように種類が異なる |
既定ではChanged、Newer、Olderだけが対象のため、これを変更するにはオプションを指定します。
| オプション | 機能 |
|---|---|
| /XC | Changed (変更されたファイル) を除外 |
| /XN | Newer (新しいファイル) を除外 |
| /XO | Older (古いファイル) を除外 |
| /XX | Extra (コピー先にだけ存在するファイルとディレクトリ) を除外 |
| /XL | Lonely (コピー元にだけ存在するファイルとディレクトリ) を除外 |
| /IS | Same (同一ファイル) を含む |
| /IT | Tweaked (異常なファイル) を含む |
| オプション | 機能 |
|---|---|
| /XA | 指定の属性に一致するファイルを除外 |
| /XF | 指定の名前かパスに一致するファイルを除外。ワイルドカードがサポートされる |
| /XD | 指定の名前かパスに一致するディレクトリを除外。名前では、それに一致するすべてのディレクトリが除外される。特定のディレクトリを対象とするならば、パスで指定する |
複数のファイルやディレクトリを指定するときは、空白で区切ります。
| オプション | 機能 | 既定値 |
|---|---|---|
| /R:n | 失敗したコピーに対する再試行数 | 1,000,000 |
| /W:n | 試行と再試行の間の待機する秒数 | 30 |
| オプション | 機能 |
|---|---|
| /LOG:ファイル | ファイルに状態を出力する。既存のファイルに上書き |
| /LOG+:ファイル | ファイルに状態を出力する。既存のファイルに追記 |
| /TEE | コンソール ウィンドウとログファイルに状態出力を書き込む |
処理に失敗したときは、
20**/**/** **:**:** エラー 5 (0x00000005) コピー元ディレクトリにアクセスしています C:\SAMPLE\ アクセスが拒否されました。
のように出力されるため、そこで問題を確認できます。日本語ロケールでは”エラー”ですが、英語では”ERROR”となります。
ファイルの更新日時が"1980/01/02 09:00"となっていることでコピーの失敗を判定できるとの情報もありますが、Windows 11ではコピーの開始時に更新日時もコピーされるため、この方法では判定できません。Windowsのrobocopyコマンドでファイルコピー中断後に自動再開させる:Tech TIPS - @IT 打越浩幸 (2014/04/30)
次に示す、ジョブ ヘッダーを非表示とできます。
-------------------------------------------------------------------------------
ROBOCOPY :: Windows の堅牢性の高いファイル コピー
-------------------------------------------------------------------------------
開始: ****年**月**日 **:**:**
コピー元 : C:\
コピー先 : C:\
ファイル: *.*
オプション: /DCOPY:DA /COPY:DAT /R:1000000 /W:30
------------------------------------------------------------------------------
次に示す、ジョブ サマリーを非表示とできます。
------------------------------------------------------------------------------
合計 コピー済み スキップ 不一致 失敗 Extras
ディレクトリ: 1 0 1 0 0 0
ファイル: 1 0 1 0 0 0
バイト: 10 0 10 0 0 0
時刻: 0:00:00 0:00:00 0:00:00 0:00:00
終了: ****年**月**日 **:**:**
| 値 | 状態 |
|---|---|
| 0 | コピーされなかった。一致しないファイルはない。ファイルがコピー先にすでに存在するため、コピーされなかった。 |
| 1 | すべてのファイルがコピーされた。 |
| 2 | コピーされなかった。コピー元にはないファイルが、コピー先には存在する。 |
| 3 | 一部のファイルがコピーされた。追加のファイルがある。 |
| 5 | 一部のファイルがコピーされた。一致しないファイルがある。 |
| 6 | コピーされなかった。追加のファイルと一致しないファイルがある。 |
| 7 | コピーされた。追加のファイルと一致しないファイルがある。 |
| 8 | 複数のファイルがコピーされなかった。 |
| クラス | 英語 | 日本語 | ||
|---|---|---|---|---|
| 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 | 不一致 | ||
| 項目 | 意味 |
|---|---|
| 合計 (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後のコピー先フォルダが隠しフォルダになってしまう
robocopyをGUIから実行できるツールです。