質問: Download フォルダを、 vagrant の共有フォルダに同期するバッチファイルを記述しようとしていました。本家の回答によると、 `robocopy` を使うのが良い、といった回答がありました。 これを手元で実行したところ、以下のエラーが発生しました。 ``` C:\Users\myaccount\Desktop>robocopy C:\Users\myaccount\Downloads C:\Users\myaccount\vagrants\ubuntu\host-downloads /COPYALL /E ------------------------------------------------------------------------------- ROBOCOPY :: Windows の堅牢性の高いファイル コピー ------------------------------------------------------------------------------- 開始: 2017年2月2日 18:59:36 コピー元 : C:\Users\myaccount\Downloads\ コピー先 : C:\Users\myaccount\vagrants\ubuntu\host-downloads\ ファイル: *.* オプション: *.* /S /E /COPYALL /R:1000000 /W:30 ------------------------------------------------------------------------------ エラー: 監査管理のユーザー権利がありません。 ***** 監査情報をコピーするにはこれが必要です (/COPY:U または /COPYALL)。 簡易な使用法 :: ROBOCOPY コピー元 コピー先 /MIR コピー元 :: コピー元ディレクトリ (ドライブ:\パスまたは \\サーバー \共有\パス)。 コピー先 :: コピー先ディレクトリ (ドライブ:\パスまたは \\サーバー \\共有\パス)。 /MIR :: 完全なディレクトリ ツリーをミラー化します。 詳細な使用方法については、ROBOCOPY /? を実行してください。 **** /MIR はファイルをコピーできるだけでなく、削除もできます。 ``` --- 質問 -- このエラーは、どうやったら解消できますでしょうか。 (期待する動作は、ディレクトリの再帰的なコピー)
回答: エラーの通り`/COPYALL`オプションにより監査情報がコピー対象に含まれるのが原因ですので、該当オプションを削除すればよいのでは。 なお`Robocopy`のコピー対象の項目は * ファイルデータ(`D`) * ファイル属性(`A`) * タイムスタンプ (`T`) * ファイルのACL (`S`) * オーナー (`O`) * 監査情報 (`U`) の6種類で、オプションを指定しない場合は`/COPY:DAT`が既定値となります。また`/COPY:DATS`と等価な`/SEC`オプションも利用できます。