in Windows Development & Utilities

Windows Icon Cache Clearer

I couldn’t find an easy way to clear the icon cache so I developed this little batch script to make it easy. A simple batch script to clear the icon cache introduced in Windows Vista. Now updated to work on all current versions of Windows, for real this time.

A side note before trying this script try using either ie4uinit -show in Windows 10 or ie4uinit -ClearIconCache in Windows 7. These commands are supposed to clear the icon cache and will do so without requiring you to terminate explorer or reboot you computer.

Download: clear-icon-cache.bat (zipped)
SHA3-256: ddd83421b246333f42be070adcbc97915cce0ae927046202e151e9a4f296fe58

:: Icon Cache Clearer by Furgelnod of furgelnod.com

@echo off
title Icon Cache Clearer by Furgelnod

echo This script is to be used as a last resort. It will manually erase the icon cache.
echo:
echo Please first try these simple methods that will not require terminating explorer or rebooting.
echo In Windows 10 run: "ie4uinit -show"
echo In Windows 7 run: "ie4uinit -ClearIconCache"

choice /C YN /m "Continue"
if %ERRORLEVEL% EQU 2 goto :EOF


set "NotEightPlus=0"
set "EightPlusCachePurged=0"
set "CachePurged=0"

pushd "%localappdata%\Microsoft\Windows\Explorer"

forfiles /M "iconcache*.db">nul
if ERRORLEVEL 1 (
  if not exist IconCacheToDelete (
    set "NotEightPlus=1"
  ) else (
    set "EightPlusCachePurged=1"
  )
)

pushd "%localappdata%"
if not exist IconCache.db (
  set "CachePurged=1"
)

if %CachePurged% EQU 1 (
  echo:
  echo IconCache.db is missing. It will be recreated the next time you reboot.
  if %NotEightPlus% EQU 1 goto QST
  if %EightPlusCachePurged% EQU 1 (
    echo The iconcache files introduced in Windows 8.1 are missing. They too will be recreated the next time you reboot.
    goto QST
  )
)

echo.
echo Do you wish to continue to clear the icon cache?
echo Explorer will be terminated in the process.
echo.

choice /C YN /m "Continue"
if %ERRORLEVEL% EQU 2 goto :EOF

taskkill /IM explorer.exe /F  > nul

if %CachePurged% NEQ 1 (
  del /F /a "IconCache.db" > nul
)

if %NotEightPlus% NEQ 1 (
  if %EightPlusCachePurged% NEQ 1 (
    popd
    forfiles /M "iconcache*.db" /C "%COMSPEC% /C del /F /a @path" >nul
  )
)

start explorer.exe

echo.
echo Icon Cache is now cleared.
echo.
echo Please restart your computer for the cache to be completely rebuilt.

:QST
echo.
choice /C YN /m "Restart the computer now"
if %ERRORLEVEL% EQU 2 goto :EOF

shutdown /r /t 0

Your thoughts? Click here to comment.

Comment

All fields voluntary.
Comment submission rules apply.

  1. Icon cache in windows 8 and 10 is stored in C:\Users\\AppData\Local\Microsoft\Windows\Explorer which contains:
    • iconcache_16.db
    • iconcache_32.db
    • iconcache_48.db
    • iconcache_96.db
    • iconcache_256.db
    • iconcache_768.db
    • iconcache_1280.db
    • iconcache_1920.db
    • iconcache_2560.db
    • iconcache_custom_stream.db
    • iconcache_exif.db
    • iconcache_idx.db
    • iconcache_sr.db
    • iconcache_wide.db
    • iconcache_wide_alternate.db

    • Seems that you are somewhat correct Windows 8.1 and above introduced these databases located at “%LOCALAPPDATA%\Microsoft\Windows\Explorer” in addition to the original iconcache.db in that root. At some point I’ll update the script to check for and also remove these (edit: done).

Webmentions

  • Windows 7 Icon Cache Clearer – Furgelnod's Fyrgilnadium Sat, 2018-09-22

    […] An updated version compatible with Windows 10 is on this page. […]