Refresh Icon Cache Without Rebooting

178

92

Normally, to refresh the icon cache in Windows, we have to reboot.

Is there a way to refresh the icon cache in Windows 7/8 without rebooting?

Elmo

Posted 2012-11-03T17:43:18.570

Reputation: 12 667

Found this Q via Google in December 2017. Thanks for posting this. I liked the answer where it says to make the short batch file. So in the comments I included the process of doing so. Now my Win8.1 icons are fixed. THANK YOU. EXCELLENT QUESTION. – SDsolar – 2017-12-01T23:22:02.250

1What have you tried? What happened? Why do you need it done? Are you talking about on Windows Explorer, Start Menu, task bar, where? Need more information – Canadian Luke – 2012-11-03T18:20:05.463

1Yes I did... And that's why I'm asking for clarification. I saw this in the review queue, so I only read the answers now, but remember that this site is meant to also help visitors from Google or other search engines, as well – Canadian Luke – 2012-11-03T18:22:01.610

1

Normally, when we refresh the icon cache in Windows, we have to reboot, but my question and answer does it without a reboot. http://blog.stackoverflow.com/2011/07/its-ok-to-ask-and-answer-your-own-questions/

– Elmo – 2012-11-03T18:27:37.987

Answers

299

Yes.

You can just run the following command to clear the icon cache:

ie4uinit.exe -ClearIconCache

For Windows 10, use:

ie4uinit.exe -show

Check this video for a demo.

[tip credit]

Elmo

Posted 2012-11-03T17:43:18.570

Reputation: 12 667

5Does not work on Windows 8.1. You have to delete IconCache.db as explained by @Techie007. – Helge Klein – 2015-01-19T20:05:37.057

@HelgeKlein it doesn't come with IE10... so only pre-IE10 OS'es have it. This includes Windows 7. – JasonXA – 2015-09-07T16:58:03.053

Definately doesn't work on 8.1. It runs but it doesn't clear the icon cache. – Pharap – 2015-11-08T07:15:46.003

4Doesn't seem to work for me in Windows 7 – Joris Groosman – 2015-12-28T09:38:07.320

1working on windows 7 Pro – deadfish – 2016-04-05T07:10:57.383

7For Windows 10, use the argument "show", mentioned in the same page (tip credit). – w32sh – 2016-04-07T14:14:46.823

If you want to refresh notification icons too you can use this app : https://github.com/crazy-max/IconsRefresh

– CrazyMax – 2016-04-16T19:44:41.887

4@Crazy Is it just a 1 liner? SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NULL, NULL); – Elmo – 2016-04-16T21:32:06.730

@Elmo Yes it is ! – CrazyMax – 2016-04-16T22:38:45.220

Does not work on Windows 8.1. Sorry. – None – 2016-04-22T16:03:46.837

It didn't work for me in Win 7 (though it seemed to make a refresh) but the kill-explorer-etc thing did. – cdlvcdlv – 2018-03-05T10:33:23.577

2ie4uinit.exe -show worked for me in Windows 10, thanks! So much easier than most of the tutorials telling you to go around deleting a bunch of .db files! – Jez – 2019-05-24T10:41:59.037

If you're fancy you can send the 'SHChange' notification with PowerShell too: https://stackoverflow.com/a/49818826/273668

– Henk Poley – 2019-11-07T12:39:27.833

38

The following way has worked since Vista; It requires an Explorer restart, but no reboot.

Short version: Stop all explorer.exe instances, delete the user's hidden IconCache.db file, and restart Explorer.

Long Version (there are other ways as well):

  1. Close all Explorer windows that are currently open.

  2. Launch Task Manager using the CTRL+SHIFT+ESC key sequence, or by running taskmgr.exe.

  3. In the Process tab, right-click on the explorer.exe process and select End Process.

  4. Click the End process button when asked for confirmation.

  5. From the File menu of Task Manager, select New Task (Run…)

  6. Type CMD.EXE, and click OK

  7. In the Command Prompt window, type the commands one by one and press ENTER after each command:

    CD /d %userprofile%\AppData\Local
    DEL IconCache.db /a
    EXIT
    
  8. In Task Manager, click File, select New Task (Run…)

  9. Type EXPLORER.EXE, and click OK.

instruction steps source

Warning: It's important that Explorer.exe not be running when you delete the IconCache.db file. If explorer is running, it will simply write out the current (corrupt) icons the next time it is shut down (e.g. when you logoff, shutdown, or restart).

Ƭᴇcʜιᴇ007

Posted 2012-11-03T17:43:18.570

Reputation: 103 763

Awesome, it works for every windows icon, even configuration ones. Other methods only reset iconcs from files and folders – mikl – 2016-03-16T15:04:46.023

What I noticed lately is that the IconCache.db often not necessarily exists, but just restarting explorer.exe as described above solves the problem, too. – anre – 2017-02-03T18:23:20.763

1This answer deserves all the upvotes and the accepted tick IMO – micsthepick – 2018-07-05T23:03:55.853

16

  1. Open command console with admin privileges
  2. taskkill /IM explorer.exe /F
  3. CD /d %userprofile%\AppData\Local
  4. DEL IconCache.db /a
  5. start explorer.exe via Task Manager

Grumpy ol' Bear

Posted 2012-11-03T17:43:18.570

Reputation: 5 313

1worked for me, Win 8.1 – Spike0xff – 2017-06-20T21:00:48.653

6

Create a .bat file and paste the following lines in it and then run it.

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

omerfdgn

Posted 2012-11-03T17:43:18.570

Reputation: 161

That's cool. Works fine in Win8.1 Quick and easy. And with the "QuickEdit" and "Run as Administrator" settings in the taskbar CMD icon, I was able to create the bat file by simply copying your text above, then clicking on the CMD icon. Typed copy con clearcache.bat then Enter, then Right-click to paste it in. One more Enter then a Ctrl-Z finishes the job of creating the file. Then I typed clearcache to run it. WIndows blinked and all the icons came back fixed. Took a total of 30 seconds for the whole fix. THANK YOU. EXCELLENT ANSWER. – SDsolar – 2017-12-01T23:17:59.387

6

There's a clean way to close the Explorer.exe instance which shows the taskbar and the Desktop icons.

You have to popup the classic Shutdown dialog window. The only common way I found to accomplish this is:

  1. Leave at least one pixel of Desktop background free of overlapping Windows, then click on it to focus on the Desktop itself (the one with the icons).

  2. Press Alt + F4 keyboard shortcut: then the classic Shutdown dialog will appear.

  3. Now, press and hold CTRL+ALT+SHIFT click on Cancel.

the.reversengineer

Posted 2012-11-03T17:43:18.570

Reputation: 69

Why does this work? What does CTRL+ALT+SHIFT click on Cancel do? – Dean Meehan – 2015-09-02T15:36:09.910

2Also this: open the Windows 7 start menu, hold Ctrl-Shift down and right click in the empty space above the Shutdown/Logoff/Restart button (whichever you have configured as the default). A menu appears with "Exit Explorer" as an option. Click it and Explorer terminates. – Fran – 2015-11-12T15:38:12.207

If you use the Windows 7 startmenu trick it's important to make sure you close ALL File Explorer windows first! Then you can Exit Explorer from the Windows 7 start menu. First open command prompt. Next click on the start menu, hold Ctrl+Shift and right click right above the Shutdown button to expose the Exit Explorer sub menu option and click it. In the command prompt, type CD /d %userprofile%\AppData\Local then type del IconCache.db /a and last type explorer. – Arvo Bowen – 2016-04-05T23:26:26.450

To get your start menu back, ctrl+alt+del then file: new task and enter explorer.exe – jaggedsoft – 2016-07-28T21:05:21.550

Press Win and release it. Then twice Alt+F4. This way is faster and you needn't to see part of the Desktop to open the classic shutdown menu. – cdlvcdlv – 2018-03-05T10:22:06.120

2

If you don't want to make a .bat, copy the line behind, press Win+R, paste it and press Enter.

cmd /c taskkill /f /im explorer.exe & del /a %userprofile%\AppData\Local\IconCache.db & start explorer

You can also paste it in the address bar of an explorer window; and, of course, in a command line window (you don't need the cmd /c then) but you won't have the line to easily repeat it in case you need it again.

CAVEAT:

Don't run this line in an elevated prompt unless you're sure you are the only user in the system or you will kill explorer in all open sessions. Therefore, don't press Shift+Ctrl+Enter in the Run dialog box.

By the way, I don't see the need of the cd /d command I see repeatedly. It seems everybody just copy/paste without considering what are the commands for.

Note:

I use & instead of && just in case one of the commands fails, to ensure explorer is restarted.

cdlvcdlv

Posted 2012-11-03T17:43:18.570

Reputation: 703

0

Though not a userland answer, simple call to

SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NULL, NULL);

does that [1]. Possibly someone would create an utility to do just that; currently, using 7-zip and trying to modify file associations (for all users; without elevating permissions; which would fail and tell that operation failed) calls the notifications and rebuilds the icon cache.

Oh, just saw the comments to the accepted answer, where the call is discussed, and a tool for that is mentioned: https://github.com/crazy-max/IconsRefresh.

[1] https://docs.microsoft.com/en-us/windows/desktop/api/shlobj_core/nf-shlobj_core-shchangenotify

Mike Kaganski

Posted 2012-11-03T17:43:18.570

Reputation: 171

0

ie4uinit.exe as suggested by Elmo is a good option because it is available on every system already. I had trouble with it not refreshing sometimes in a complex batch file I have. Nircmd is a great alternative that worked for me.

This is the command I used that worked: nircmd shellrefresh

pseudosavant

Posted 2012-11-03T17:43:18.570

Reputation: 185

-1

If you want a complete refreshed icon cache, go to the addressbar of windows explorer and type "C:\Users*Username*\AppData\Local" and then delete IconCache.db.

**Note:**It may be a hidden file. So I recommend turning Show Hidden Files on in Folder Option.

Blackie Holeberger

Posted 2012-11-03T17:43:18.570

Reputation: 1

1Please read the question again carefully. Your answer does not answer the original question. – DavidPostill – 2016-09-04T07:17:49.933

-2

Not very beautiful but effective:

C:> tskill explorer

Beau Key

Posted 2012-11-03T17:43:18.570

Reputation: 1

2That's not enough. You have to delete the icon cache db as well. In any case killing explorer is already covered by the other answers. – DavidPostill – 2016-11-27T09:25:23.247