robocopy

ある場所から別の場所にファイル データをコピーします。

構文

robocopy <source> <destination> [<file>[ ...]] [<options>]

たとえば、yearly-report.mov という名前のファイルを c:\reports からファイル共有 \\marketing\videos にコピーすると同時に、パフォーマンスを向上させるためにマルチスレッドを有効にし (/mt パラメーターを使用)、中断された場合は転送を再開できるようにする (/z パラメーターを使用) には、次のように入力します。

robocopy c:\reports "\\marketing\videos" yearly-report.mov /mt /z

重要

デバイスの "ルート" からデータがコピーされた場合、コピー処理中にコピー先ディレクトリで "非表示" 属性が採用されます。

パラメーター

パラメーター 説明
<source> コピー元ディレクトリのパスを指定します。
<destination> コピー先ディレクトリのパスを指定します。
<file> ファイルをコピーするファイルを指定します。 ワイルドカード文字 (* または ?) がサポートされています。 このパラメーターを指定しない場合は、既定値として *.* が使用されます。
<options> robocopy コマンドで使用するオプションを指定します。コピーファイル再試行ログジョブの各オプションがあります。

オプションをコピーします。

オプション 説明
/s コピーのサブディレクトリです。 このオプションでは、空のディレクトリを自動的に除外します。
/e コピーのサブディレクトリです。 このオプションでは、空のディレクトリ自動的に含めます。
/lev:<n> ソース ディレクトリ ツリーの上位 n レベルのみをコピーします。
/z 再開可能モードでファイルをコピーします。 再起動可能モードでは、ファイルコピーが中断された場合、robocopy はファイル全体を再コピーするのではなく、中断した場所から再開できます。
/b バックアップ モードでファイルをコピーします。 バックアップ モードでは、robocopy によってファイルとフォルダーのアクセス許可設定 (ACL) がオーバーライドされ、それ以外の場合はアクセスがブロックされる可能性があります。
/zb 再開可能モードでファイルをコピーします。 ファイル アクセスが拒否された場合は、バックアップ モードに切り替えます。
/j バッファリングされない I/O を使用してコピーします (大きなファイルに推奨されます)。
/efsraw EFS の RAW モードでは、すべての暗号化されたファイルをコピーします。
/copy:<copyflags> コピーするファイルのプロパティを指定します。 このオプションの有効な値は次のとおりです。
  • D - データ
  • A - 属性
  • T - タイム スタンプ
  • X - 代替データ ストリームをスキップする
  • S - NTFS アクセス制御リスト (ACL)
  • O - 所有者情報
  • U - 監査情報
/COPY オプションの既定値は DAT (データ、属性、タイム スタンプ) です。 /B または /ZB のいずれかが使用されている場合、X フラグは無視されます。
/dcopy:<copyflags> ディレクトリで何をコピーするかを指定します。 このオプションの有効な値は次のとおりです。
  • D - データ
  • A - 属性
  • T - タイム スタンプ
  • E - 拡張属性
  • X - 代替データ ストリームをスキップする
このオプションの既定値は DA (データと属性) です。
数/秒 セキュリティを使用してファイルをコピーします (/copy:DATS と同等)。
/copyall すべてのファイル情報のコピー (に相当 /copy:DATSOU)。
/nocopy コピー ファイルの情報はありません (で役に立ちます パージ/)。
/secfix でも、すべてのファイルに修正プログラム ファイルのセキュリティには、ものがスキップされます。
/timfix でも、すべてのファイルに修正プログラム ファイルの時間には、ものがスキップされます。
/purge リンク先のファイルとソースに存在しなくなったディレクトリを削除します。 このオプションを /e オプションと宛先ディレクトリと共に使用すると、宛先ディレクトリのセキュリティ設定が上書きされないようにすることができます。
/mir ディレクトリ ツリーをミラー化 (に相当 /e plus パージ/)。 このオプションを /e オプションと宛先ディレクトリと共に使用すると、宛先ディレクトリのセキュリティ設定が上書きされます。
/mov ファイルを移動し、コピーした後に、ソースから削除します。
/move ファイルとディレクトリを移動し、コピーした後に、ソースから削除します。
/a +: [RASHCNET] コピーしたファイルに指定された属性を追加します。 このオプションの有効な値は次のとおりです。
  • R - 読み取り専用
  • A - アーカイブ
  • S - システム
  • H - 非表示
  • C - 圧縮
  • N - コンテンツ インデックスなし
  • E - 暗号化
  • T - 一時
/a-:[RASHCNETO] コピーしたファイルから、指定された属性を削除します。 このオプションの有効な値は次のとおりです。
  • R - 読み取り専用
  • A - アーカイブ
  • S - システム
  • H - 非表示
  • C - 圧縮
  • N - コンテンツ インデックスなし
  • E - 暗号化
  • T - 一時
  • O - オフライン
作成します ディレクトリ ツリー、長さゼロのファイルのみを作成します。
fat/ 8.3 形式の文字長 FAT ファイル名のみを使用して、リンク先のファイルを作成します。
/256 256 文字より長いパスのサポートを無効にします。
/mon:<n> ソースを監視し、n 個を超える変更が検出された場合は再度実行します。
/mot:<m> ソースを監視し、変更が検出された場合は m 分で再度実行します。
/rh:hhmm-hhmm 新しいコピーを開始できる実行時間を指定します。
/pf (パスごとではなく) ファイルごとに実行時間をチェックします。
/ipg:<n> 低速回線の帯域幅を解放する間のパケットの間隔を指定します。
/sj ジャンクション (ソフト リンク) をリンク ターゲットではなく宛先パスにコピーします。
/sl シンボリック リンクに従わず、代わりにリンクのコピーを作成します。
/mt:<n> n 個のスレッドによるマルチスレッド コピーを作成します。 n は、1 から 128 までの整数である必要があります。 n の既定値は 8 です。 パフォーマンスを向上させるには、/log オプションを使用して出力をリダイレクトします。

/mt パラメーターを /ipg および /efsraw パラメーターと共に使用することはできません。

/nodcopy ディレクトリ情報をコピーしません (既定の /dcopy:DA が実行されます)。
/nooffload Windows コピー オフロード メカニズムを使用せずにファイルをコピーします。
/compress ファイル転送中のネットワーク圧縮を要求します (該当する場合)。
/sparse コピー中にファイルのスパース状態を保持できるようにします。

重要

/secfix コピー オプションを使用する場合は、次の追加のコピー オプションのいずれかを使用して、コピーするセキュリティ情報の種類を指定します。

  • /copyall
  • /copy:o
  • /copy:s
  • /copy:u
  • /sec

注意

/mt パラメーターは Windows Server 2008 R2 で導入され、その機能は現在のバージョンの Windows Server に適用されます。

ファイルの調整オプションをコピーします

オプション 説明
/iomaxsize:<n>[kmg] 読み取り/書き込みサイクルあたりの要求された最大 I/O サイズ (nロバイト、ガバイト、またはガバイト)。
/iorate:<n>[kmg] 要求された I/O レート/秒 (nロバイト、ガバイト、またはガバイト)。
/threshold:<n>[kmg] 調整するためのファイル サイズのしきい値 (nロバイト、ガバイト、またはガバイト) (「解説」を参照)。

これらの調整オプションは、Robocopy で使用できる最大の I/O 帯域幅を 1 秒あたりのバイト数で指定するために使用されます。 1 秒あたりのバイト数で指定しない場合は、km、または g を指定すれば、整数を使用できます。 調整される最小の I/O 帯域幅は、524288 バイトであり、これより小さい値を指定しても効力はありません。

ファイルの選択オプション

オプション 説明
/a 対象のファイルのみをコピー、 アーカイブ 属性を設定します。
/m 対象のファイルのみをコピー、 アーカイブ 属性が設定されているし、リセット、 アーカイブ 属性です。
/ia:[RASHCNETO] 指定した属性のいずれかが設定する対象のファイルのみが含まれます。 このオプションの有効な値は次のとおりです。
  • R - 読み取り専用
  • A - アーカイブ
  • S - システム
  • H - 非表示
  • C - 圧縮
  • N - コンテンツ インデックスなし
  • E - 暗号化
  • T - 一時
  • O - オフライン
/xa:[RASHCNETO] 指定した属性のいずれかが設定する対象のファイルを除外します。 このオプションの有効な値は次のとおりです。
  • R - 読み取り専用
  • A - アーカイブ
  • S - システム
  • H - 非表示
  • C - 圧縮
  • N - コンテンツ インデックスなし
  • E - 暗号化
  • T - 一時
  • O - オフライン
/xf <filename>[ ...] 指定した名前またはパスに一致するファイルを除外します。 ワイルドカード文字 (* および ?) がサポートされています。
/xd <directory>[ ...] 指定した名前とパスに一致するディレクトリを除外します。
/xc タイムスタンプは同じであるが、ファイル サイズが異なる既存のファイルを除外します。
/xn 宛先より新しいソース ディレクトリ ファイルが、コピーから除外されます。
/xo 宛先より古いソース ディレクトリ ファイルが、コピーから除外されます。
/xx 宛先に存在するが、ソースには存在しない追加のファイルとディレクトリを除外します。 追加のファイルを除外しても、宛先からファイルが削除されることはありません。
指定. ソースに存在するが、宛先には存在しない "孤立した" ファイルとディレクトリを除外します。 孤立したファイルを除外すると、すべての新しいファイルが宛先に追加されなくなります。
/im 変更されたファイル (変更時刻は異なります) を含めます。
/is 同じファイルを含めます。 同じファイルは、名前、サイズ、時刻、すべての属性が同じです。
/it ファイル「調整」にはが含まれます。 調整されたファイルは、名前、サイズ、時刻は同じですが、属性が異なります。
/max:<n> 最大ファイル サイズを指定します (n バイトより大きいファイルを除外するため)。
/min:<n> 最小ファイル サイズを指定します (n バイトより小さいファイルを除外するため)。
/maxage:<n> ファイルの最大経過期間を指定します (n の日数または日付より古いファイルを除外するため)。
/minage:<n> ファイルの最小経過期間を指定します (n の日数または日付より新しいファイルを除外します)。
/maxlad:<n> 最大最終アクセス日を指定します (n から使用されていないファイルを除外します)。
/minlad:<n> 最小最終アクセス日を指定します (n から使用されているファイルを除外します)。n が 1900 より小さい場合、n は日数を指定します。 それ以外の場合、n は YYYYMMDD という形式の日付を指定します。
/xj 通常は既定で含まの接合ポイントは含まれません。
/fft FAT ファイル時間 (2 秒の精度) を想定します。
/dst 1 時間 DST 時刻の違いを補正します。
/xjd ディレクトリの接合ポイントは含まれません。
/xjf ファイルの接合ポイントは含まれません。

再試行オプション

オプション 説明
/r:<n> 失敗したコピーの再試行回数を指定します。 n の既定値は 1,000,000 (100 万回の再試行) です。
/w:<n> 再試行間の待ち時間 (秒) を指定します。 n の既定値は 30 (30 秒の待ち時間) です。
/reg 指定された値を保存、 /r/w レジストリの既定の設定とオプションです。
/tbd 共有名が定義されるのをシステムが待機することを示します (再試行エラー 67)。
/lfsm コピー、一時停止、および再開を可能にする "低空き領域モード" で動作します (「解説」を参照)。
/lfsm:<n>[kmg] フロア サイズを nロバイト、ガバイト、またはガバイトで指定します。

[ログ オプション]

オプション 説明
/l ファイルのみリストに表示されることを指定 (およびコピーされず、削除、またはタイムスタンプ) です。
/x 選択されているものだけでなく、すべての余分なファイルを報告します。
/v 詳細出力を生成し、すべてのスキップしたファイルを示します。
/ts 出力には、ソース ファイルのタイムスタンプが含まれています。
/fp 出力にはファイルの完全パス名が含まれます。
/bytes バイトとして、サイズを印刷します。
/ns ファイル サイズをログに記録しないことを指定します。
/nc ファイル クラスをログに記録しないことを指定します。
/nfl ファイル名をログに記録しないことを指定します。
/ndl ディレクトリ名をログに記録しないことを指定します。
/np コピー操作の進行状況 (これまでにコピーされたファイルまたはディレクトリの数) が表示されないことを示します。
/eta コピーしたファイルの到着 (予定) の推定時間を示します。
/log:<logfile> 状態出力をログ ファイルに書き込みます (既存のログ ファイルを上書きします)。
/log+:<logfile> 状態の出力を (既存のログ ファイルに出力を追加する)、ログ ファイルに書き込みます。
/unilog:<logfile> (既存のログ ファイルを上書きする) の Unicode 文字としてログ ファイルに状態の出力を書き込みます。
/unilog+:<logfile> (出力を既存のログ ファイルに追加する) の Unicode 文字としてログ ファイルに出力のステータスを書き込みます。
/tee 状態の出力をコンソール ウィンドウ、およびログ ファイルに書き込みます。
/njh ジョブのヘッダーがないことを示します。
/njs ジョブの概要がないことを示します。
/unicode Unicode テキストとして状態の出力を表示します。

ジョブのオプション

オプション 説明
/job:<jobname> パラメーターをジョブの名前付きのファイルから派生するように指定します。 /job:jobname を実行するには、まず /save:jobname パラメーターを実行して、ジョブ ファイルを作成する必要があります。
/save:<jobname> パラメーターを名前付きのジョブのファイルに保存するように指定します。 これは、/job:jobname を実行する前に実行される必要があります。 コピー、再試行、ログ記録のオプションはすべて、このパラメーターの前に指定する必要があります。
/quit (パラメーターを表示する) のコマンドラインの処理の後に終了します。
/nosd ソース ディレクトリが指定されていないことを示します。
/nodd インストール先ディレクトリが指定されていないことを示します。
/if 指定したファイルが含まれます。

解説

  • 以前は、ボリュームのルート ディレクトリで /PURGE または /MIR を使用すると、robocopy によって、システム ボリューム情報ディレクトリ内のファイルにも要求された操作が適用されました。 どちらかが指定されているかのように、robocopy はコピー セッションの最上位レベルのソース ディレクトリとコピー先ディレクトリにあるその名前のファイルまたはディレクトリをスキップするようにはなったため、これは適用されなくなりました。

  • 変更されたファイルの分類は、ソース ファイル システムとコピー先ファイル システムの両方が変更タイムスタンプ (NTFS など) をサポートしており、ソース ファイルとコピー先ファイルの変更時刻が異なるがそれ以外は同じである場合にのみ適用されます。 これらのファイルは、既定ではコピーされません。 /IM を指定して含めます。

  • /DCOPY:E フラグは、ディレクトリに対して拡張属性のコピーを試みるよう要求します。 ディレクトリの EA をコピーできなかった場合、Robocopy は続行されます。 このフラグは /COPYALL には含まれません。

  • /IoMaxSize または /IoRate が指定されている場合、robocopy はコピー ファイルの調整を有効にして、システムの負荷を軽減します。 どちらも最適な値とコピーパラメータに調整できますが、システムと robocopy では、必要に応じて許可された値に調整できます。

  • /Threshold を使用する場合は、調整を行う最小ファイル サイズを指定します。 そのサイズを下回るファイルは調整されません。 3つのパラメーターはすべて、値の後に、[KMG] (キロバイト、メガバイト、ギガバイト) など、オプションのサフィックスを付けることができます。

  • /LFSM を使用すると、"低空き領域モード" で動作するよう RoboCopy に要求します。 このモードでは、ファイルのコピーによって宛先ボリュームの空き領域が "フロア" 値よりも小さくなるたびに、robocopy が一時停止します。 この値は、/LFSM:n[KMG] フラグを使用して明示的に指定できます。

  • 明示的なフロア値を示さずに /LFSM を指定した場合、フロアは宛先ボリュームのサイズの 10% に設定されます。 低空き領域モードは、/MT および /EFSRAW では利用できません。

終了 (リターン) コード

内容
0 ファイルはコピーされませんでした。 エラーは発生しませんでした。 一致しないファイルはありませんでした。 ファイルが宛先ディレクトリに既に存在するため、コピー操作はスキップされました。
1 すべてのファイルが正常にコピーされました。
2 ソース ディレクトリには存在しない追加のファイルが宛先ディレクトリにいくつか存在します。 ファイルはコピーされませんでした。
3 一部のファイルがコピーされました。 追加のファイルが存在しました。 エラーは発生しませんでした。
5 一部のファイルがコピーされました。 一部のファイルが一致しませんでした。 エラーは発生しませんでした。
6 追加のファイルと一致しないファイルが存在します。 ファイルがコピーされず、エラーも発生しなかったので、ファイルが既に宛先ディレクトリに存在していることを意味します。
7 ファイルがコピーされ、ファイルの不一致が存在し、さらに追加のファイルが存在しました。
8 複数のファイルがコピーされませんでした。

Note

値が 8 以上の場合は、コピー操作中に少なくとも 1 つのエラーが発生したことを示します。

robocopy コマンドを実行するときは、プロセスで整合性の検証が完了したら表示できるログ ファイルを作成することを強くお勧めします。 次の例では、それぞれ /LOG: パラメーターを使用します。 ログ情報を同じログ ファイルに追加するには、代わりに /LOG+: パラメーターを使用します。

空のディレクトリを含むすべてのファイルとサブディレクトリを "Records" フォルダーからドライブ "D" の "Backup" フォルダーにコピーするには、次のように入力します。

robocopy C:\Users\Admin\Records D:\Backup /E /ZB /LOG:C:\Logs\Backup.log

"Records" フォルダーの内容をドライブ "D" の "Backup" フォルダーにミラーするには、ミラー元に存在しないファイルを 2 回の再試行でミラー先から削除し、各再試行間で 5 秒待ち、次のように入力します。

robocopy C:\Users\Admin\Records D:\Backup /MIR /R:2 /W:5 /LOG:C:\Logs\Backup.log

空ではないすべてのファイルとサブディレクトリを、16 個のマルチスレッド コピー操作を使用してファイル データ、属性、タイムスタンプを保持しつつ、"Records" フォルダーからドライブ "D" の "Backup" フォルダーにコピーするには、次のように入力します。

robocopy C:\Users\Admin\Records D:\Backup /S /E /COPY:DAT /MT:16 /LOG:C:\Logs\Backup.log

空のディレクトリを除くファイルとサブディレクトリを "Records" フォルダーからドライブ "D" の "Backup" フォルダーに移動し、7 日より前のファイルを除外するには、次のように入力します。

robocopy C:\Users\Admin\Records D:\Backup /S /MAXAGE:7 /MOV /LOG:C:\Logs\Backup.log

空のディレクトリを含むすべてのファイルとサブディレクトリを "Records" フォルダーからドライブ "D" の "Backup" フォルダーにコピーし、各ファイルの推定時間を表示して、存在しないコピー先のファイルとディレクトリをコピー元から削除するには、次のように入力します。

robocopy C:\Users\Admin\Records D:\Backup /ETA /PURGE /LOG:C:\Logs\Backup.log

コピー操作中の I/O 速度を 1 MB/秒に制限しながら、"C" ドライブの "Records" という名前のフォルダーからすべてのファイルとサブディレクトリを "D" ドライブの "Backup" という名前のフォルダーにコピーするには、次のように入力します。

robocopy C:\Records D:\Backup /iorate:1m