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> |
コピーするファイルのプロパティを指定します。 このオプションの有効な値は次のとおりです。
|
/dcopy:<copyflags> |
ディレクトリで何をコピーするかを指定します。 このオプションの有効な値は次のとおりです。
|
数/秒 | セキュリティを使用してファイルをコピーします (/copy:DATS と同等)。 |
/copyall | すべてのファイル情報のコピー (に相当 /copy:DATSOU)。 |
/nocopy | コピー ファイルの情報はありません (で役に立ちます パージ/)。 |
/secfix | でも、すべてのファイルに修正プログラム ファイルのセキュリティには、ものがスキップされます。 |
/timfix | でも、すべてのファイルに修正プログラム ファイルの時間には、ものがスキップされます。 |
/purge | リンク先のファイルとソースに存在しなくなったディレクトリを削除します。 このオプションを /e オプションと宛先ディレクトリと共に使用すると、宛先ディレクトリのセキュリティ設定が上書きされないようにすることができます。 |
/mir | ディレクトリ ツリーをミラー化 (に相当 /e plus パージ/)。 このオプションを /e オプションと宛先ディレクトリと共に使用すると、宛先ディレクトリのセキュリティ設定が上書きされます。 |
/mov | ファイルを移動し、コピーした後に、ソースから削除します。 |
/move | ファイルとディレクトリを移動し、コピーした後に、ソースから削除します。 |
/a +: [RASHCNET] | コピーしたファイルに指定された属性を追加します。 このオプションの有効な値は次のとおりです。
|
/a-:[RASHCNETO] | コピーしたファイルから、指定された属性を削除します。 このオプションの有効な値は次のとおりです。
|
作成します | ディレクトリ ツリー、長さゼロのファイルのみを作成します。 |
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:<y|n> |
コピー処理中におけるファイルのスパース状態の保持を有効または無効にします。 オプションが選択されていない場合、既定では yes (有効) になります。 |
/noclone | 最適化としてのブロック複製を試行しません。 |
重要
/secfix コピー オプションを使用する場合は、次の追加のコピー オプションのいずれかを使用して、コピーするセキュリティ情報の種類を指定します。
- /copyall
- /copy:o
- /copy:s
- /copy:u
- /sec
注意
/mt パラメーターは Windows Server 2008 R2 で導入され、その機能は現在のバージョンの Windows Server に適用されます。
ファイルの調整オプションをコピーします
オプション | 説明 |
---|---|
/iomaxsize:<n> [kmg] |
読み取り/書き込みサイクルあたりの要求された最大 i/o サイズ ( n kilobytes、 megabytes、または gigabytes)。 |
/iorate:<n> [kmg] |
要求された i/o レート ( n kilobytes megabytes、または gigabytes/秒)。 |
/threshold:<n> [kmg] |
n kilobytes、megabytes、または gigabytes での調整のファイル サイズのしきい値 (Remarks を参照)。 |
これらの調整オプションは、Robocopy で使用できる最大の I/O 帯域幅を 1 秒あたりのバイト数で指定するために使用されます。 1 秒あたりのバイト数で指定しない場合は、k、m、または g を指定すれば、整数を使用できます。 調整される最小の I/O 帯域幅は、524288 バイトであり、これより小さい値を指定しても効力はありません。
ファイルの選択オプション
オプション | 説明 |
---|---|
/a | 対象のファイルのみをコピー、 アーカイブ 属性を設定します。 |
/m | 対象のファイルのみをコピー、 アーカイブ 属性が設定されているし、リセット、 アーカイブ 属性です。 |
/ia:[RASHCNETO] |
指定した属性のいずれかが設定する対象のファイルのみが含まれます。 このオプションの有効な値は次のとおりです。
|
/xa:[RASHCNETO] |
指定した属性のいずれかが設定する対象のファイルを除外します。 このオプションの有効な値は次のとおりです。
|
/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 kilobytes、 megabytes、または gigabytes で指定します。 |
[ログ オプション]
オプション | 説明 |
---|---|
/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