通常、Windowsのアイコンキャッシュを更新するには、再起動する必要があります。
再起動せずにWindows 7/8でアイコンキャッシュを更新する方法はありますか?
通常、Windowsのアイコンキャッシュを更新するには、再起動する必要があります。
再起動せずにWindows 7/8でアイコンキャッシュを更新する方法はありますか?
回答:
はい。
次のコマンドを実行するだけで、アイコンキャッシュをクリアできます。
ie4uinit.exe -ClearIconCache
Windows 10の場合:
ie4uinit.exe -show
デモについては、このビデオを確認してください。
SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NULL, NULL);
Vista以降、次の方法が機能します。Explorerの再起動が必要ですが、再起動は必要ありません。
ショートバージョン:すべてのexplorer.exe
インスタンスを停止し、ユーザーの隠しIconCache.db
ファイルを削除して、エクスプローラーを再起動します。
ロングバージョン(他の方法もあります):
現在開いているすべてのエクスプローラーウィンドウを閉じます。
+ + キーシーケンスを使用するか、を実行して、タスクマネージャーを起動します。CTRLSHIFTESCtaskmgr.exe
[プロセス]タブで、プロセスを右クリックしてexplorer.exe
[ プロセスの終了 ] を選択します。
確認を求められたら、[ プロセスの終了 ]ボタンをクリックします。
タスクマネージャーの[ファイル ]メニューから、[ 新しいタスク(実行…) ]を選択します。
を入力しCMD.EXE
、[OK]をクリックします
コマンドプロンプトウィンドウで、コマンドを1つENTERずつ入力し、各コマンドの後に押します。
CD /d %userprofile%\AppData\Local
DEL IconCache.db /a
EXIT
でタスクマネージャーをクリックし、ファイルを選択し新しいタスク(ファイル名を指定して実行...)
を入力しEXPLORER.EXE
、[OK]をクリックします。
警告:IconCache.dbファイルを削除するとき、Explorer.exeが実行されていないことが重要です。エクスプローラが実行されている場合、次回シャットダウンするとき(たとえば、ログオフ、シャットダウン、または再起動するとき)に、現在の(破損した)アイコンを書き出すだけです。
Explorer.exe
タスクバーとデスクトップアイコンを表示するインスタンスを閉じるクリーンな方法があります。
クラシックShutdown
ダイアログウィンドウをポップアップする必要があります。これを達成するために私が見つけた唯一の一般的な方法は次のとおりです。
デスクトップの背景の少なくとも1ピクセルをWindowsの重複がないようにし、クリックしてデスクトップ自体(アイコンのあるもの)に焦点を合わせます。
Alt+ F4キーボードショートカットを押すと、クラシックシャットダウンダイアログが表示されます。
ここで、Ctrl + Alt + Shiftキーを押しながらクリックしCancel
ます。
File Explorer
最初にすべてのウィンドウを閉じてください。その後Exit Explorer
、Windows 7のスタートメニューからできます。最初に開くコマンドプロンプト。次に、スタートメニューをクリックし、ボタンのCtrl+Shift
すぐ上で右クリックしShutdown
てExit Explorer
サブメニューオプションを表示し、クリックします。コマンドプロンプトで、入力しCD /d %userprofile%\AppData\Local
た後に入力del IconCache.db /a
し、最後のタイプexplorer
。
explorer.exe
Win
て放します。それから2回 Alt+F4
。この方法は高速で、クラシックシャットダウンメニューを開くためにデスクトップの一部を表示する必要はありません。
.batファイルを作成し、その中に次の行を貼り付けて実行します。
taskkill /f /im explorer.exe
cd /d %userprofile%\AppData\Local
del IconCache.db /a
start explorer.exe
copy con clearcache.bat
入力してEnterキーを押し、次に右クリックして貼り付けます。もう1つEnterキーを押してからCtrl-Zキーを押すと、ファイル作成のジョブが終了します。次に、入力clearcache
して実行しました。Windowsが点滅し、すべてのアイコンが修正されました。修正全体で合計30秒かかった。ありがとうございました。優れた回答。
を作成したくない場合は.bat
、後ろの行をコピーしてWin+を押しR、貼り付けてを押しEnterます。
cmd /c taskkill /f /im explorer.exe & del /a %userprofile%\AppData\Local\IconCache.db & start explorer
エクスプローラーウィンドウのアドレスバーに貼り付けることもできます。そして、もちろん、コマンドラインウィンドウ(その場合は必要ありませんcmd /c
)ですが、再度必要になったときに簡単に繰り返すための行はありません。
警告:
システム内で唯一のユーザーであることが確実でない限り、昇格したプロンプトでこの行を実行しないでください。そうしないと、開いているすべてのセッションでエクスプローラーが強制終了されます。したがって、[ファイル名を指定して実行 ]ダイアログボックスでShift+ Ctrl+ Enterを押さないでください。
ところで、cd /d
繰り返し表示されるコマンドの必要性はわかりません。コマンドが何であるかを考慮せずに、誰もがただコピー/ペーストするようです。
注意:
エクスプローラーが確実に再起動されるように、コマンドの1つが失敗した場合の&
代わりに使用&&
します。
ユーザーランドの回答ではありませんが、単純な呼び出し
SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NULL, NULL);
それ[1]。おそらく誰かがそれを行うユーティリティを作成するでしょう。現在、7-zipを使用してファイルの関連付けを変更しようとすると(すべてのユーザーに対して、アクセス許可を引き上げずに失敗し、操作が失敗したことを通知します)、通知を呼び出してアイコンキャッシュを再構築します。
ああ、受け入れられた答えへのコメントを見たところです。そこではコールが議論されており、そのためのツールが言及されています:https : //github.com/crazy-max/IconsRefresh。
[1] https://docs.microsoft.com/en-us/windows/desktop/api/shlobj_core/nf-shlobj_core-shchangenotify
完全に更新されたアイコンキャッシュが必要な場合は、Windowsエクスプローラのアドレスバーに移動して「C:\ Users * Username * \ AppData \ Local」と入力し、IconCache.dbを削除します。
**注:**隠しファイルの可能性があります。したがって、フォルダオプションで[隠しファイルを表示]をオンにすることをお勧めします。
あまり美しくはないが効果的:
C:> Tskill Explorer