Заметки практикующего сисадмина

Дядя Саша Кузьмич пишет о работе

Удаление кеша иконок в Windows 7 и Windows Vista

Иногда возникает необходимость очистки кеша иконок, например когда на ярлыке вместо нужной иконки отображается стандартная иконка приложения. Кеш иконок хранится в файле C:\Users\[Пользователь]\AppData\Local\IconCache.db. Его необходимо удалить и перезагрузить систему. Однако есть способ, позволяющий обойтись без перезагрузки:

  1. Необходимо закрыть процесс Explorer.exe, отвечающий за оболочку рабочего стола: открываем меню Пуск, зажимаем Ctrl+Shift, нажимаем правой клавишей мыши в свободном пространстве меню Пуск, в появившемся контекстном меню выбираем «Выход из Проводника».
  2. Запускаем Диспетчер задач нажатием Ctrl+Shift+Esc.
  3. Выбираем Файл -> Новая задача -> cmd.exe -> Ok.
  4. Поочередно вводим команды в появившееся окно:
    cd /d %userprofile%\AppData\Local
    del /a s IconCache.db
    explorer.exe

Вот, собственно, и все.

Источник

Update 2014-03-02: Исправлена команда удаления, т.к. по умолчанию файл кеша скрытый. Рекомендую почитать все комментарии — там предложено еще несколько способов.

Комментарии

42 комментария на ««Удаление кеша иконок в Windows 7 и Windows Vista»»

  1. Аватар пользователя Гость
    Гость

    Это не помогает. Открываешь потом каталог с видео — миниатюры тут же появляются. даже не генерятся, а именно появление происходит именно сразу. Если во второй раз зайти в %userprofile%appdata\local, то iconcach.db файла там нет. не не создается.
    win7 sp1.
    терминал пользователя, естесственно, был перезагружен после удаления файла iconcache.db

    1. Аватар пользователя Александр Кузьмин

      Я так понимаю, что речь идет про RDP? Ну тогда еще неплохо кеш клиента очистить.

  2. Аватар пользователя Svarog
    Svarog

    а не проще сначала грохнуть IconCache.db, а потом уже перезапускать explorer?

    1. Аватар пользователя Александр Кузьмин

      Проводник держит этот файл открытым.

  3. Аватар пользователя Anton

    Либо можно использовать программу Icon Cache Cleaner. Пройдется по всем файлам кэша и подчистит все. Не надо ничего вводить самому. 🙂

    1. Аватар пользователя Александр Кузьмин

      Одобряю. Для ленивых — самое то.

      1. Аватар пользователя Anton

        Я сначала хотел это все проделать вручную или записать в bat. Потом подумал, и решил для этого утилитку написать. Авось кому еще пригодится! 🙂

    2. Аватар пользователя Пашка)
      Пашка)

      Ай спасибо тебе добрый человек! от души, бро! очень помогла программка!

  4. Аватар пользователя пачкун
    пачкун

    Спасибо, чувак, что напомнил про «убить эксплорер»
    удалил IconCache.db, тутже перезагрузка — хрен!
    удалил IconCache.db, тутже выход из системы — хрен!
    удалил IconCache.db, тутже грохнул процесс эксплорера, тутже его запустил (всё через диспетчер задач) — мазлтов!

  5. Аватар пользователя Ник Ример
    Ник Ример

    cd /d %userprofile%\AppData\Local
    del IconCache.db
    explorer.exe

    если после выполнения второй команды система говорит, что «файл не найден», неплохо предварительно выполнить команду:
    attrib -h IconCache.db
    и далее по тексту..

    1. Аватар пользователя Ник Ример
      Ник Ример

      Подумал и решил добавить ещё. Раз уж мы пользуемся командной строкой, так почему бы не сделать этого от начала до конца. Запишем код, как указано ниже, в файл (например, win7_clear_iconcache.bat) и при повторении проблем с кэшем иконок будем запускать. Код:
      taskkill /f /im explorer.exe
      cd /d %userprofile%\AppData\Local
      attrib -h IconCache.db
      del IconCache.db
      explorer.exe
      pause 0

      1. Аватар пользователя Алексей Л.
        Алексей Л.

        Огромное человеческое спасибо. Помогло 🙂

      2. Аватар пользователя пиксель
        пиксель

        Ну ты и красаучик! Все перепробовал, но именно твой метод оказался рабочим. Низкий тебе поклон! Сохранил твой батничек в бекапы.
        Еще раз большое спасибо!

      3. Аватар пользователя Слава56
        Слава56

        @color 0A
        @echo «Please wait…program loading..»
        @echo off
        rem если не существует IconCache.db — то завершим программу
        if not exist %userprofile%\AppData\Local\IconCache.db goto ok
        rem если существует IconCache.db — то начнем удаление
        if exist %userprofile%\AppData\Local\IconCache.db goto start
        :start
        taskkill /f /im explorer.exe
        cd /d %userprofile%\AppData\Local
        attrib -h IconCache.db
        del /a +s IconCache.db
        start explorer.exe
        if errorlevel 0 echo Operation successful!!!!
        :ok
        @echo Icon Cache Clean!!!!
        timeout /t 10
        exit

      4. Аватар пользователя Александр А.
        Александр А.

        У меня вообще значки поперепутались между собой, но данный вариант помог на все 100%. По крайней мере я комп ещё не перезагружал. Но буду надеяться, что после перезагрузки всё останется так как нужно.

      5. Аватар пользователя Серёга
        Серёга

        Спасибо, почему-то второй раз слетели иконки. Не стал пробовать способ автора — сразу сделал через батник. Посмотрим, что будет после перезагрузки)

    2. Аватар пользователя cyclone
      cyclone

      вот именно эта команда исправила стоящую проблему, дорогой ты наш человек!)))

  6. Аватар пользователя QWQ
    QWQ

    файл по умолчанию скрыт

    1. Аватар пользователя Ник Ример
      Ник Ример

      поэтому приведённый выше код спасает нас от неудач.
      команда attrib -h IconCache.db снимает с файла атрибут «скрытый» как если бы вы первоначально разрешали отображение скрытых файлов, затем нашли сам файл, щёлкнули по нему ПКМ и сняли галочку «Скрытый», а потом пришлось бы снова запрещать отображение скрытых файлов, если вам это не нравится.
      с помощью замечательной команды attrib вообще очень удобно менять атрибуты любых файлов, хелп по ней нормально описан и стандартными средствами: attrib /?

  7. Аватар пользователя Александр
    Александр

    Можно попробовать ещё один способ. Не знаю, работает ли он в других системах, кроме Windows 7, не пробовал.
    В Windows 7 с этой проблемой я справился так:
    1) открыл «Мой компьютер»
    2) в левой колонке кликнул по системному диску правой кнопкой и выбрал строку «Rebuild Icone Cache»

    1. Аватар пользователя Александр Кузьмин

      Этот пункт меню добавлен сторонней программой, штатно нет такого функционала

  8. Аватар пользователя ex-human
    ex-human

    ie4uinit.exe -ClearIconCache

  9. Аватар пользователя Ксэн
    Ксэн

    ex-human СПАСИБО!!!!
    Мля, задрался мучиться с пустыми иконками на раб. столе и в панели задач. Просто у меня почти все рабочие программы на внешнем винте находятся и после загрузки все ярлыки в вине «неассоциированных» файлов висят…. а после запуска программы даже и в панели задач — фиг разберешь кто из них кто.
    Ишшо раз сенькьюверимач!!!!

  10. Аватар пользователя Я
    Я

    del /a +s iconcache.db — от так нужно!

  11. Аватар пользователя ДЕД
    ДЕД

    Зачем вы так сбрасываете удалением файла iconcache. Этот способ иногда не помогает.
    Лучший способ:
    (Мне он всегда помогает) когда слетает кэш.
    1. Создаем текстовый документ или рисунок на рабочем столе
    2. Нажимаем правой кнопкой мыши на файл, нажимаем «Свойства»
    3. В свойстве файла нажимаем кнопку «Изменить»
    4. Появилось окно выбора программы. Нажимаем «ОК».
    5. Мы видим, кэш значков сбросился.
    6. Закрываем окно свойства.
    7. Все!
    Способ более быстрый. (Даже не нужна перезагрузка и никакого перезапуска explorer)

    1. Аватар пользователя
      Аноним

      Вот это супер

  12. Аватар пользователя
    Аноним

    Помогло! Спасибо большое! 🙂
    P.S.: Файл IconCache.db удалить через cmd.exe не удалось… удалил файл через TotalCommander…

  13. Аватар пользователя
    Аноним

    Огромное спасибо, помогла именно пошаговая инструкция.

  14. Аватар пользователя Annat
    Annat

    Спасибо большое! После замены сис. файлов, не все замененные ресурсы отображались правильно 🙂

  15. Аватар пользователя петр
    петр

    Подскажите пожалуйста, из-за чего может быть, пропадают иконки некоторых файлов после извлечения их с архива, например с папки загоузки, именно на рабочий стол, перетащил файлик на раб. стол, а его не видно, исчез. Но только после перезагрузки пк он стает видимым. Не всегда такое бывает, но довольно часто. Виндовс 7 максимальная.

    1. Аватар пользователя Александр Кузьмин

      Наверное есть проблемы с кешем иконок или файловой системой

  16. Аватар пользователя Петр
    Петр

    Александр Кузьмин, спасибо за оперативность, чувствую что наверно придется переустанавливать винду, если будет сильно допекать. Ведь не зря говорят: переустановка — это лучшая панацея от всех болезней.

    1. Аватар пользователя Александр Кузьмин

      Вполне возможно, что это будет единственно правильным выбором, если система действительно подубита.

  17. Аватар пользователя Наталья
    Наталья

    Спасибо Вам огромное за Вашу статью! Очень помогла!)))

  18. Аватар пользователя Виталик
    Виталик

    А мне ничего не помогло,я искал инфу на разных форумах,и удалял в ручную,и прогами пользовался,и антивирусом сканировал и все равно результата 0,может что-нибудь подскажет что еще можно сделать?

  19. Аватар пользователя
    Аноним

    очень полезная статья, мне реально только что помогла. СПС

  20. Аватар пользователя
    Аноним

    Спасибо, у меня (windows 7) работает

  21. Аватар пользователя Oleg

    Мне помог способ без перезагрузки спасибо вам )))

  22. Аватар пользователя
    Аноним

    Большое спасибо, помогло с первого раза.

  23. Аватар пользователя Вячеслав Великий
    Вячеслав Великий

    @echo off
    color 0A
    :: ************************Comments************************
    :: если существует IconCache.db — то начнем удаление
    :: если не существует IconCache.db — то завершим программу
    :: символ ^ переносит строку не нарушая целостности команды
    :: ************************Comments************************
    set DATA=%userprofile%\AppData\Local
    if exist %DATA%\IconCache.db (goto :process) else ^
    echo ******************************************************
    echo File not Found!
    echo File is deleted before.
    echo The program will close in 10 seconds …
    echo ******************************************************
    goto :done
    :process
    taskkill /f /im explorer.exe
    cd /d %DATA%
    del /q /a:h IconCache.db
    start explorer.exe
    cls
    if %errorlevel% EQU 0 ^
    echo ******************************************************
    echo Operation successful!!!!
    echo Icon cache cleared.
    echo The program will close in 10 seconds …
    echo ******************************************************
    :done
    timeout /t 10
    exit

  24. Аватар пользователя Kaspersky
    Kaspersky

    @echo off
    TaskKill /f /im explorer.exe
    cd /d %userprofile%\AppData\Local\Microsoft\Windows\Explorer
    del /a s *.db
    start explorer.exe
    exit

Добавить комментарий для Алексей Л.Отменить ответ

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.