web-dev-qa-db-ja.com

再起動せずにアイコンキャッシュを更新する

通常、Windowsでアイコンキャッシュを更新するには、再起動する必要があります。

再起動せずにWindows 7/8のアイコンキャッシュを更新する方法はありますか

165
Elmo

はい

アイコンキャッシュをクリアするには、次のコマンドを実行します。

ie4uinit.exe -ClearIconCache

Windows 10の場合は、次のようにします。

ie4uinit.exe -show

デモについては、この ビデオ を確認してください。

[チップクレジット]

279
Elmo

次の方法はVista以来機能しています。エクスプローラの再起動が必要ですが、再起動は必要ありません。

ショートバージョン:すべてのExplorer.exeインスタンスを停止し、ユーザーの隠しIconCache.dbファイルを削除してExplorerを再起動します。

ロングバージョン(他の方法もあります):

  1. 現在開いているすべてのエクスプローラウィンドウを閉じます。

  2. を使用してタスクマネージャを起動します。 CTRL+SHIFT+ESC キーシーケンス、またはtaskmgr.exeを実行します。

  3. プロセスタブで、Explorer.exeプロセスを右クリックし、プロセスの終了を選択します。

  4. 確認を求められたら、プロセス終了ボタンをクリックします。

  5. タスクマネージャファイルメニューから、新規タスク(実行…)を選択します

  6. CMD.EXE」と入力し、[OK]をクリックします。

  7. コマンドプロンプトウィンドウで、コマンドを1つずつ入力して、 ENTER 各コマンドの後:

    CD /d %userprofile%\AppData\Local
    DEL IconCache.db /a
    EXIT
    
  8. タスクマネージャで、ファイルをクリックし、新しいタスク(実行…)を選択します。

  9. Explorer.EXE」と入力し、[OK]をクリックします。

命令ステップソース

警告:IconCache.dbファイルを削除すると、Explorer.exeが実行されていないことが重要です。エクスプローラが実行されている場合は、次回のシャットダウン時(ログオフ、シャットダウン、再起動など)に現在の(破損した)アイコンを単純に書き出します。

36
  1. 管理者権限でコマンドコンソールを開く
  2. taskkill /IM Explorer.exe /F
  3. CD /d %userprofile%\AppData\Local
  4. DEL IconCache.db /a
  5. タスクマネージャでExplorer.exeを起動
15
Grumpy ol' Bear

タスクバーとデスクトップのアイコンが表示されているExplorer.exeインスタンスを閉じるきれいな方法があります。

古典的なShutdownダイアログウィンドウをポップアップする必要があります。これを達成するために私が見つけた唯一の一般的な方法は、次のとおりです。

  1. デスクトップの背景の少なくとも1ピクセルをWindowsの重なりがないようにしておき、それをクリックしてデスクトップ自体(アイコンのあるもの)に焦点を合わせます。

  2. 押す Alt + F4 キーボードショートカット:それから古典的なシャットダウンダイアログが表示されます。

  3. 今、CTRL + ALT + SHIFTを押しながらCancelをクリックします。

6

.batファイルを作成し、その中に次の行を貼り付けて実行します。

taskkill /f /im Explorer.exe
cd /d %userprofile%\AppData\Local
del IconCache.db /a
start Explorer.exe
5
farukdgn

.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つが失敗した場合に備えて、&の代わりに&&を使用します。

1
cdlvcdlv

ユーザーランドの回答ではありませんが、単純に

SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NULL, NULL);

それをする[1]。おそらく誰かがそれをするためのユーティリティを作成するでしょう。現在、7-Zipを使用してファイルの関連付けを変更しようとすると(すべてのユーザーに対して、アクセス許可を昇格せずに失敗し、操作に失敗したことが通知されます)、通知が呼び出され、アイコンキャッシュが再構築されます。

ああ、ちょうど通話が議論されている、そしてそのためのツールが言及されている、受け入れられた答えへのコメントを見ました: https://github.com/crazy-max/IconsRefresh .

[1] https://docs.Microsoft.com/ja-jp/windows/desktop/api/shlobj_core/nf-shlobj_core-shchangenotify

0
Mike Kaganski