注意
管理権限がないので削除できないという場合にはそもそもそれは消せないので、消せないです。本稿は管理者なのに削除できないファイルがあってストレスで胃がキリキリ言っている人向けの記事です。
この記事に書かれている方法は、本来Windowsの一般的なユーザーがやるべきではない作業が盛り込まれています。「消すな」って設定されてるファイルをわざわざ削除する作業なので、「確実に要らないし、本気で邪魔だから上司より邪魔だからマジで消したい。消してスッキリしたい。じゃなきゃストレス死しちゃう」と言う場合を除いて絶対にやらないでください。また不可逆な操作なので本当によく確認しながら、なんなら復元ポイントをちゃんと用意してから作業するのが良いと思います。
なお私は「一応置いてたけどウィルススキャン長くなるだけから消すわ」って動機で消しました。
経緯
PCを新調しました。
Cドライブに新しいWindows環境を作成し、古いPCのHDDは容量余ってたし、中身の掃除もしないでまるごと(物理的に)引っ越してDドライブとして使うことにしました。
Dドライブには使いもしない「Program Files」フォルダと「Windows」フォルダが残りました。
使わないので削除しようとしたら「フォルダーアクセスの拒否」が表示され、
「続行」をしたら「TrustedInstallerからアクセス許可を得る必要があります」
のコンボで削除することができません。私は管理者なのに。
消したい。
原因
ファイルの所有者がTrustedInstallerやsystemになっており、安易に削除はできないようになっています。アクセス権も与えられていません。ただ、もちろん管理者はこの所有者を変更することもできるしアクセス権も変更できます。
GUIを利用する手順
ひとつひとつやるのはとてもめんどくさいですが、右クリックからセキュリティの詳細設定入って所有者を変更した後でアクセス権を変更すれば削除できるようになります。ただ今回のようにProgram Files以下全部とかやるのはとても大変なのでコマンドプロンプトからまとめて作業します。
この手順は以下の記事が参考になります。
Administratorでも変更できない権限"TrustedInstaller"
cmdを利用する手順
この手順は以下の記事が参考になります。
Windows で強制的にディレクトリを削除する
本稿で紹介する手順は本質的にはこちらの手順と同じです。ただ、本稿ではもうすこし初心者向けに、ビクビクしながら「D:\Program Files」の例で書きますので読者は自身のレベルに合わせて参考にする記事を選択するのが良いかと思います。
コマンドプロンプトを管理者権限で開く
WindowsのスタートメニューからWindowsシステムツールのコマンドプロンプトを右クリックして管理者で開きます。
削除したいフォルダへ移動する
基本ですけど一応ちゃんと書きます。ちゃんとカレントディレクトリが移動したことを確認してください。
> d:
> cd "Program Files"
所有者を変更する(所有権を得る)
所有者の変更はtakeown
コマンドを使います。このコマンドを実行するとプロンプトに作業経過が滝のように流れてきます。完了までには数分かかるかもしれません。
> takeown /F * /R /A
/F * : このディレクトリ以下のファイル全てを選択します
/R : サブディレクトリまで全部やります
/A : 所有者をAdministratorsにします。
/Aを書かなければ所有者はログインユーザーになります。ログインユーザーになればそれで削除できますけど怖いので今回はAdministratorsみんなを所有者にしました。
場合によってこんな確認が出る場合もあるかと思いますが、yで良いと思います。
アクセス権を変更する(削除する権限を得る)
アクセス権の変更はicacls
コマンドを使います。このコマンドを実行するとプロンプトに作業経過が滝のように流れてきます。完了までには数分かかるかもしれません。所有者変更よりは短い時間だと思います。
> icacls * /T /grant Administrators:F
/T : サブディレクトリまで全部やります
/grant Administrators:F : Administratorsに対してフルコントロールを許可します
削除する
以上の操作でファイルを削除できるようになりました。
あとはエクスプローラーから全部選択して削除すればいくつか管理権限が必要なファイル削除していいのかとかシステムファイルだけど本当に消していいかとか聞かれますけど削除してあげればよいかと思います。
終わりに
上述もしましたがこの記事を書くにあたりQiita内を軽く検索し、以下の類似情報を得ました。参考にもさせていただきました。ありがとうございます。
Administratorでも変更できない権限"TrustedInstaller"
Windows で強制的にディレクトリを削除する
むかしのひとはいいました。注意一秒、怪我一生。ファイルの削除は十分に注意して、本当に消していいのかよく検討の上、えらいひとの許可を得て最悪何かあってもスケジュールに影響のないタイミングで作業してください。