Robocopy.exe の /MT (マルチ スレッド) オプションを使用するとコピー処理に失敗する

現象
Windows 7, Windows 8, Windows 8.1, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2 のいずれかの OS において、Robocopy.exe の /MT オプションを使用し、ファイル コピーを行うと、稀に Robocopy.exe が不正終了し、コピー処理に失敗します。
原因
Robocopy.exe の不具合にて発生します。/MT オプションにおいては、マルチ スレッドでコピー処理を行います。しかしながら、Robocopy.exe の内部で使用するフォルダー・ファイル数の参照カウンターがマルチ スレッド間で同期されない場合があり、その結果 Robocopy.exe が不正終了します。
解決方法
本事象は Windows 10 にて修正済みです。
回避策
Robocopy を /MT オプションを使わず、シングル スレッドでの実行とします。並列実行する必要がある場合には、Robocopy の対象フォルダーのフォルダーごとに Robocopy を複数並列で実行する事が有効な場合があります。

一例として、下記のフォルダー構造として、親フォルダー P 配下に、a、b、c という子フォルダーがあるとします。このフォルダー a、b、c に対して、それぞれ Robocopy.exe を実行することで、3 並列のコピーが行えます。

 フォルダーP
  Lフォルダーa
  Lフォルダーb
  Lフォルダーc

変更前:
Robocopy.exe フォルダーP ターゲットP /MT<その他のオプション>

変更後: 以下の 3 コマンドを並列実行します。
Robocopy.exe フォルダーa ターゲットa <その他のオプション>
Robocopy.exe フォルダーb ターゲットb <その他のオプション>
Robocopy.exe フォルダーc ターゲットc <その他のオプション>
状況
本事象は既知の不具合であると認識しており、Windows 10 で修正済みです。 
詳細
関連情報
注意 : これは、マイクロソフトのサポート組織内で直接作成された "緊急公開" の資料です。 この資料には、確認中の問題に関する現状ベースの情報が記載されています。 情報提供のスピードを優先するため、資料には誤植が含まれる可能性があり、予告なしに随時改定される場合があります。 その他の考慮事項については、使用条件を参照してください。
プロパティ

文書番号:3106369 - 最終更新日: 09/29/2016 13:00:00 - リビジョン: 3.0

Windows 7 Service Pack 1, Windows Server 2008 R2 Service Pack 1, Windows 8, Windows 8.1, Windows Server 2012 Datacenter, Windows Server 2012 Essentials, Windows Server 2012 Foundation, Windows Server 2012 Standard, Windows Server 2012 R2 Datacenter, Windows Server 2012 R2 Essentials, Windows Server 2012 R2 Foundation, Windows Server 2012 R2 Standard

  • KB3106369
フィードバック