При отображении иконок различных программ или типов файлов в проводнике File Explorer, Windows вместо обращения к исходным файлам с иконками, получает копии картинок значков из специальных файлов с кэшем иконок. За счет того, что операционной системе не нужно каждый раз загружать оригинальные файлы иконок, ускоряется работа и прорисовка объектов в проводнике Windows.
В некоторых случаях, при повреждении файла с кэшем иконок, в проводнике (и на рабочем столе) могут отображаться белые иконки ярлыков и файлов, или вместо иконок приложений отображаются стандартные иконки Windows. В этом случае рекомендуется выполнить сброс системного кэша иконок.
На скриншоте ниже видно, что в макете стартового меню Windows 10 вместо значков некоторых приложений отображаются стандартные иконки папок.
Кэш иконок в различных версиях Windows представляет собой один или несколько db файлов, хранящихся в профиле пользователя.
- В Windows 7 это файл IconCache.db в каталоге %userprofile%\AppData\Local
- В Windows 10 и Windows 8.1 – это множество файлов, имя которых начинается с iconcache_ (iconcache_16.db, iconcache_32.db, iconcache_48.db и т.д. в соответствии с размерами иконки в пикселях) и хранятся в каталоге %userprofile%\AppData\Local\Microsoft\Windows\Explorer
Сброс кэша иконок в Windows с помощью утилиты ie4uinit
В Windows есть специальная встроенная утилита ie4uinit (IE Per-User Initialization Utility), которую можно использовать для быстрого сброса кэша иконок.
- В Windows 10:
ie4uinit.exe -show
- Для Windows 7:
ie4uinit.exe -ClearIconCache
Эту команду нужно выполнить через меню Win+R -> команда -> Enter.
Команды абсолютно безопасные, но помогают восстановить нормальное состояние кэша иконок далеко не во всех случаях.
Скрипт удаления файлов с кэшем иконок в Windows
Чтобы сбросить кэш иконок, достаточно удалить db файлы с кэшем. Но предварительно нужно завершить процесс проводника File Explorer, чтобы он не блокировал доступ к файлам iconcache. Рассмотрим, как сбросить базу данных кэша иконок без перезагрузки Windows.
- Закройте все запущенные приложения;
- Откройте окно командной строки (
cmd.exe
илиpowershell.exe
) с правами администратора; - Запустите диспетчер задач
taskmgr.exe
- В окне Task Manager перейдите на вкладку Details, найдите процесс explorer.exe и завершите его (End Task);
- Также вы можете завершить процесс из командной строки:
taskkill /f /im explorer.exe
- Затем последовательно выполните следующие команды для удаления кэша иконок в профиле пользователя (в зависимости от версии ОС):
Для Windows 10/ 8.1 (просто скопируйте этот код в окно командной строки или сохраните как текстовый файл reset_icon_windows.bat).
taskkill /f /im explorer.exe
cd /d %userprofile%\AppData\Local\Microsoft\Windows\Explorer
attrib -h iconcache_*.db
del /f IconCache*
del /f thumbcache*
cd /d %userprofile%\AppData\Local\
attrib -h IconCache.db
del /f IconCache.db
start C:\Windows\explorer.exe
iconcache_idx.db
(Access is denied), но это не повлияло на итоговый результат. Кэш иконок был успешно сброшен.Для Windows 7:
cd /d %userprofile%\AppData\Local
del /f /a s IconCache.db
start C:\Windows\explorer.exe<
Последняя команда в обоих случаях перезапустит процесс проводника Windows (
explorer.exe
), который при запуске пересоздаст файлы с кэшем иконок (в соответствии с заданными файловыми ассоциациями).