【PowerShell】Remove-Itemで「~を削除できません: この操作を実行するために十分なアクセス権がありません。」の対処法
PowerShellのRemove-Itemで以下のように適当なフォルダを削除しようとすると、以下のようなエラーが出る。
PS C:\tmp> Remove-Item .\folder\
確認
C:\tmp\folder\ の項目には子があり、Recurse
パラメーターが指定されていませんでした。続行した場合、項目と共にすべての子が削除されます。続行しますか?
[Y] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ (既定値は "Y"): Y
Remove-Item : 項目 C:\tmp\folder\新しいテキスト ドキュメント.txt を削除できません: この操作を実行するために十分なアクセス権がありません。
発生場所 行:1 文字:1
+ Remove-Item .\folder\
+ ~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : PermissionDenied: (新しいテキスト ドキュメント.txt:FileInfo) [Remove-Item], IOException
+ FullyQualifiedErrorId : RemoveFileSystemItemUnAuthorizedAccess,Microsoft.PowerShell.Commands.RemoveItemCommand
Remove-Item : ディレクトリ C:\tmp\folder\ は空ではないため、削除できません。
発生場所 行:1 文字:1
+ Remove-Item .\folder\
+ ~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : WriteError: (C:\tmp\folder\:DirectoryInfo) [Remove-Item], IOException
+ FullyQualifiedErrorId : DirectoryNotEmpty,Microsoft.PowerShell.Commands.RemoveItemCommand
PS C:\tmp>
なんだかいろいろ書いてますが、「~を削除できません: この操作を実行するために十分なアクセス権がありません。」が重要。
削除対象に読み取り専用のファイルがあるとこのようなエラーが出るのです。
読み取り専用も関係なく削除したいなら、「-Force」をつければよい。
PS C:\tmp> Remove-Item .\folder\ -Force
確認
C:\tmp\folder\ の項目には子があり、Recurse パラメーターが指定されていませんでした。続行した場合、項目と共にすべての子が削除されます。続行しますか?
[Y] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ (既定値は "Y"): Y
PS C:\tmp>
これで問題なく削除できます。
ディスカッション
コメント一覧
まだ、コメントがありません