Обновить иконку кеша без перезагрузки


173

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

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


1
Что вы пробовали? Что случилось? Зачем вам это нужно сделать? Вы говорите о проводнике Windows, меню Пуск, панели задач, где? Нужна дополнительная информация
канадец Люк

1
Да, я сделал ... И именно поэтому я прошу разъяснений. Я видел это в очереди на проверку, поэтому сейчас читаю только ответы, но помните, что этот сайт также предназначен для помощи посетителям из Google или других поисковых систем
Canadian Luke

1
Обычно, когда мы обновляем кэш иконок в Windows, нам приходится перезагружаться, но мой вопрос и ответ делают это без перезагрузки. blog.stackoverflow.com/2011/07/...
Elmo

Нашел этот Q через Google в декабре 2017 года. Спасибо за публикацию этого. Мне понравился ответ, где говорится, чтобы сделать короткий командный файл. Так что в комментариях я включил процесс этого. Теперь мои иконки Win8.1 исправлены. БЛАГОДАРЮ ВАС. ОТЛИЧНЫЙ ВОПРОС.
SDsolar

Ответы:


287

Да.

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

ie4uinit.exe -ClearIconCache

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

ie4uinit.exe -show

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

[чаевые кредит]


5
Не работает на Windows 8.1. Вы должны удалить IconCache.db, как описано в @ Techie007.
Хельге Кляйн

4
Кажется, не работает для меня в Windows 7
Joris Groosman

1
работает на Windows 7 Pro
Deadfish

6
Для Windows 10 используйте аргумент «show», упомянутый на той же странице (совет кредита).
w32sh

3
@Crazy Это просто 1 лайнер? SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NULL, NULL);
Elmo

37

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Круто, это работает для всех значков Windows, даже для конфигурационных. Другие методы только сбрасывают иконки из файлов и папок
mikl

В последнее время я заметил, что IconCache.db часто не обязательно существует, но только перезапуск explorer.exe, как описано выше, также решает проблему.
17

1
Этот ответ заслуживает всех положительных отзывов и признанного тика IMO
micsthepick

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

1
работал для меня, Win 8.1
Spike0xff

6

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

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

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

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

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


Почему это работает? Что CTRL + ALT + SHIFT нажимает на Отмена?
Дин Михан,

2
Также это: откройте меню «Пуск» Windows 7, удерживайте нажатой клавишу Ctrl-Shift и щелкните правой кнопкой мыши пустое место над кнопкой «Завершение работы / Выход из системы / Перезагрузка» (в зависимости от того, что вы настроили по умолчанию). Появится меню с «Exit Explorer» в качестве опции. Нажмите на нее, и Explorer завершит работу.
Fran

Если вы используете трюк с меню запуска Windows 7, важно File Explorerсначала закрыть ВСЕ окна! Затем вы можете Exit Explorerиз меню запуска Windows 7. Сначала откройте командную строку. Затем нажмите на меню «Пуск», удерживайте Ctrl+Shiftи щелкните правой кнопкой мыши справа над Shutdownкнопкой, чтобы открыть Exit Explorerопцию подменю, и щелкните ее. В командной строке введите, CD /d %userprofile%\AppData\Localзатем введите del IconCache.db /aи последний тип explorer.
Арво Боуэн

Чтобы вернуть меню «Пуск» обратно, нажмите Ctrl + Alt + Del, затем файл: новое задание и введитеexplorer.exe
jaggedsoft

Нажмите Winи отпустите. Потом дважды Alt+F4 . Этот способ быстрее, и вам не нужно видеть часть рабочего стола, чтобы открыть классическое меню выключения.
cdlvcdlv

6

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

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

Это классно. Работает нормально в Win8.1 Быстро и просто. А с помощью настроек «QuickEdit» и «Запуск от имени администратора» на значке CMD на панели задач я смог создать файл bat, просто скопировав текст выше, а затем щелкнув значок CMD. Напечатав copy con clearcache.batзатем Enter, затем щелкните правой кнопкой мыши, чтобы вставить его. Еще один Enter, а затем Ctrl-Z завершит работу по созданию файла. Затем я набрал его clearcacheдля запуска. Окна моргнули, и все иконки вернулись. За все исправление ушло 30 секунд. БЛАГОДАРЮ ВАС. ОТЛИЧНЫЙ ОТВЕТ.
SDsolar

2

Если вы не хотите делать .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команды, которую я вижу неоднократно. Кажется, что все просто копируют / вставляют, не задумываясь, для чего нужны команды.

Примечание:

Я использую &вместо того, чтобы &&на случай, если одна из команд завершится ошибкой, обеспечить перезапуск проводника.


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


-1

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

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


1
Пожалуйста, внимательно прочитайте вопрос. Ваш ответ не отвечает на оригинальный вопрос.
Дэвид Постилл

-1

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

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


1
Этого не достаточно. Вы также должны удалить кэш иконок DB. В любом случае убийство проводника уже покрыто другими ответами.
ДэвидПостилл
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.