Windows 便利グッズ:アイコン修復
はじめに
Windows Vista では何らかのタイミングでアイコン表示が壊れることがあります。
お困りの方も多いと思います。
どうしてそうなるのかは不明ですが、多くの場合、explorer.exe による
アイコンキャッシュに問題があります。
ここではその修復方法を解説します。
※掲載内容を利用した、いかなる結果も筆者は責任を負いません。
追記:頻繁に発生するため、メーカもさすがに困り果てたようで、いつの更新プログラムかわかりませんが、
Internet Exploreにアイコンを初期化する機能が盛り込まれました。
何度かサイトアクセスするごとにアイコンを強制的に初期化します。ただしこれは対処療法です。根本解決したわけではありません。
原因(アイコンキャッシュ)
アイコンキャッシュはユーザごとに隠しファイルとして保存されています。
このファイルに不整合が生じているためにアイコン表示が正しく行われません。
- %LOCALAPPDATA%\iconcache.db
キャッシュであるため、このファイルを削除してもWindows起動時に生成されます。
そのため、このファイルを削除して再生成させることがアイコンの修復になります。
しかしそこには落とし穴があります。Web上の解説ではそれが抜けているために修復されません。
explorer と アイコンキャッシュ
実は起動中の explorer.exe はアイコンキャッシュ・ファイルがない場合、
プログラム終了時にメモリ上に保存している(不正な)情報でファイルを書き戻します。
そのため、単にアイコンキャッシュ・ファイルを削除しただけではアイコンは修復されません。
Windows のシステム用ファイルはこのようにファイルを自動修復する仕組みを備えていますが、
それが逆に仇となっています。
アイコン修復方法
動作の仕組みがわかれば、修復方法は簡単です。explorerによるお節介をさせなければよいだけです。
- explorerを停止
- アイコンキャッシュ・ファイルを削除
- explorerを起動
具体的には「管理者権限」で以下を実行します。操作は「コマンドプロンプト」で行います。
- taskkill /F /IM explorer.exe
- cd %LOCALAPPDATA%
- attrib -h iconcache.db
- del iconcache.db
- explorer.exe
一連の操作を行うバッチファイル(ResetIcon.bat)を用意しました。
「管理者として実行」するだけです(右クリックで実行)。
注意事項
- explorerを停止させるため、一時的にさまざまな操作ができなくなります。
- コマンドプロンプトからの実行をお勧めします。
- 実行前に、他のプログラムをすべて終了してください。
- さもないと書きかけ途中の内容を失う恐れがあります。
(C)2010 All rights reserved by Einstein.