158

Обычно, чтобы обновить кэш иконок в Windows, мы должны перезагрузиться.

Есть ли способ обновить кэш иконок в Windows 7/8 без перезагрузки?

9 ответов9

271

Да.

Вы можете просто запустить следующую команду, чтобы очистить кэш иконок:

ie4uinit.exe -ClearIconCache

Для Windows 10 используйте:

ie4uinit.exe -show

Проверьте это видео для демонстрации.

[отзыв кредит]

35

Следующий путь работает с Vista; Требуется перезагрузка Проводника, но без перезагрузки.

Краткая версия: остановите все экземпляры explorer.exe , удалите скрытый пользовательский файл IconCache.db и перезапустите Explorer.

Длинная версия (есть и другие способы):

  1. Закройте все окна проводника, которые в данный момент открыты.

  2. Запустите диспетчер задач, используя последовательность клавиш CTRL+SHIFT+ESC , или запустив taskmgr.exe .

  3. На вкладке «Процесс» щелкните правой кнопкой мыши процесс explorer.exe и выберите « Завершить процесс» .

  4. Нажмите кнопку Завершить процесс при запросе подтверждения.

  5. В меню « Файл» диспетчера задач выберите « Новая задача» («Выполнить»).

  6. Введите CMD.EXE и нажмите ОК

  7. В окне командной строки введите команды одну за другой и нажмите клавишу ВВОД после каждой команды:

    CD /d %userprofile%\AppData\Local
    DEL IconCache.db /a
    EXIT
    
  8. В диспетчере задач нажмите « Файл» , выберите « Новая задача» («Выполнить»).

  9. Введите EXPLORER.EXE и нажмите ОК.

источник шагов инструкции

Предупреждение . Важно, чтобы при удалении файла IconCache.db Explorer.exe не запускался. Если запущен проводник, он будет просто записывать текущие (поврежденные) значки при следующем выключении (например, при выходе из системы, завершении работы или перезагрузке).

14
  1. Откройте командную консоль с правами администратора
  2. taskkill /IM explorer.exe /F
  3. CD /d %userprofile%\AppData\Local
  4. DEL IconCache.db /a
  5. запустите explorer.exe через диспетчер задач
6

Есть чистый способ закрыть экземпляр Explorer.exe который показывает панель задач и значки на рабочем столе.

Вы должны открыть классическое диалоговое окно Shutdown . Единственный общий способ сделать это:

  1. Оставьте хотя бы один пиксель фона рабочего стола без перекрывающихся окон, затем нажмите на него, чтобы сфокусироваться на самом рабочем столе (тот, что с иконками).

  2. Нажмите сочетание клавиш Alt + F4 : появится классический диалог выключения.

  3. Теперь нажмите и удерживайте CTRL + ALT + SHIFT, нажмите « Cancel .

5

Создайте файл .bat и вставьте в него следующие строки, а затем запустите его.

taskkill /f /im explorer.exe
cd /d %userprofile%\AppData\Local
del IconCache.db /a
start explorer.exe
0

Хотя это и не пользовательский ответ, просто вызов

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

0

Если вы не хотите создавать .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

Если вам нужен полный обновленный кэш значков, перейдите в адресную строку проводника Windows и введите «C:\Users * Имя пользователя *\AppData\Local», а затем удалите IconCache.db.

** Примечание:** Это может быть скрытый файл. Поэтому я рекомендую включить параметр Показать скрытые файлы в параметре папки.

-1

Не очень красиво, но эффектно:

C:> Исследователь Цкил

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .