ある日気づいたら、Dドライブに「Program Files」ができていた。
中身は空。Cドライブにはちゃんと存在しているから、Dにあるのは完全にいらないシロモノ。
ただ、右クリックで消そうとすると「SYSTEMの権限が必要です」みたいなエラーが出て削除できない。…こういうのはちょっと厄介。
今回は、試行錯誤して、これを無事に消去するまでの備忘録。
管理者権限のフォルダを削除
フォルダの中身が空であることを確認
まずは、消そうとするフォルダの中に何も入っていないことを確認。
エクスプローラーで開いて中をのぞいたけど、やっぱり空っぽ。これなら安心して消せる。
管理者PowerShellを開く
普通にcmdを開いても権限が足りないので、「Windows PowerShell (管理者)」を起動。ここからいろいろ試した。
所有権を奪う
最初にやったのは所有権の変更。PowerShellで次を実行。
takeown /f "D:\Program Files" /a /r /d y
icacls "D:\Program Files" /grant *S-1-5-32-544:F /t
これでAdministratorsグループがオーナーになった。エラーは出なかった。
削除を試す
続けて削除コマンド。
Remove-Item "D:\Program Files" -Recurse -Force
ところが「別のプロセスが使用中」エラー。…何かが握っているらしい。
ロックを外す作戦
エクスプローラーが握っているのかと思い、いったん停止。
Stop-Process -Name explorer -Force
Remove-Item "D:\Program Files" -Recurse -Force
Start-Process explorer.exe
こうするとフォルダを解放できる。
そして……成功!
もしまだダメならSafe Modeで再起動してから削除、という手もある。
結論
- Dドライブの「Program Files」は単純コピーじゃなく、勝手にできたゴーストのような存在。
- でも、削除には所有権の変更+管理者権限が必須。
- 「使用中」の場合はExplorerやサービスを止める。
- 最終的にSafe Modeなら確実に消せる……けど、今回はここまで行く前に解決できた。