1. 事象
robocopy コマンドでファイルをコピーすると下記のエラーが発生してコピーに失敗する。
2023/09/29 22:50:01 エラー5 (0x00000005) ファイルをコピーしています。D:\work\test.txt アクセスが拒否されました。
2. 原因と対応策
エラーメッセージのとおり、アクセス許可がないのが原因です。管理者権限を持っているユーザーでもアクセス権限がないファイルやフォルダが存在する場合があります。
バックアップモードで robocopy コマンドを実行することで、アクセス権がないファイルやフォルダもコピーすることができるようになります。
バックアップモードでバックアップを実施するには下記の2点を確認してください。
2.1. /B オプションをつけて robocopy を実行する
/B オプションをつけることでバックアップモードで robocopy コマンドが実行できます。
robocopy <コピー元> <コピー先> /MIR /DCOPY:DAT /COPYALL /IT /B /XD "System Volume Information" "`$RECYCLE.BIN" /R:0 /LOG+:<ログファイルの出力先>
他のオプションについては下記を参照ください。
※参考:【robocopy】Windows のデータをコマンドで移行する
2.2. Administrators もしくは Backup Operators 所属ユーザーを使う
バックアップモードで robocopy コマンドを実行するには、コマンドの実行ユーザーが下記のいずれかのグループに所属している必要があります。
※参考: ユーザーが所属しているグループを確認する
※参考: ユーザーをグループに追加する
- Administrators
- Backup Operators
タスクスケジューラから robocopy コマンドを実行する場合は SYSTEM ユーザーも使えます。
※参考:【robocopy】Windows のデータをコマンドで移行する (2. 実行ユーザー)
以上。
コメント