刷新图标缓存而无需重新启动


173

通常,要刷新Windows中的图标缓存,我们必须重新启动。

有没有一种方法可以在不重新启动的情况下刷新Windows 7/8中的图标缓存?


1
你尝试了什么?发生了什么?为什么需要完成它?您是在Windows资源管理器,“开始”菜单,任务栏上还是在哪里?需要更多信息
加拿大卢克

1
是的,我做了...这就是为什么我要澄清。我的审核队列看到这个,所以我现在才读的答案,但请记住,这个网站是为了帮助也从谷歌或其他搜索引擎,游客以及
加拿大路加福音

1
通常,当我们在Windows中刷新图标缓存时,我们必须重新启动,但是我的问题和答案是在不重新启动的情况下完成的。 blog.stackoverflow.com/2011/07/…–
Elmo

于2017年12月通过Google找到了这个问题。感谢发布。我喜欢制作简短批处理文件的答案。因此,在评论中,我包括了这样做的过程。现在,我的Win8.1图标已修复。谢谢。优秀的问题。
SDsolar '17

Answers:


287

是。

您只需运行以下命令即可清除图标缓存:

ie4uinit.exe -ClearIconCache

对于Windows 10,请使用:

ie4uinit.exe -show

查看此视频以获取演示。

[小费]


5
在Windows 8.1上不起作用。您必须按照@ Techie007的说明删除IconCache.db。
Helge Klein 2015年

4
在Windows 7中似乎不适用于我
Joris Groosman 2015年

1
在Windows 7 Pro上工作
Deadfish'Apr 5'16

6
对于Windows 10,请使用同一页中提到的参数“ show”(提示信用)。
w32sh 2016年

3
@Crazy只是1班轮吗?SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NULL, NULL);
Elmo

37

自Vista以来,以下方法一直有效。它要求资源管理器重新启动,但无需重新启动。

简短版本:停止所有explorer.exe实例,删除用户的隐藏IconCache.db文件,然后重新启动资源管理器。

长版(还有其他方法):

  1. 关闭所有当前打开的资源管理器窗口。

  2. 使用+ + 键序列或通过运行启动任务管理器CTRLSHIFTESCtaskmgr.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,然后单击确定。

指令步骤源

警告:删除IconCache.db文件时,不要运行Explorer.exe非常重要。如果资源管理器正在运行,它将在下次关闭时(例如,注销,关闭或重新启动时)简单地写出当前(损坏的)图标。


太棒了,它适用于每个Windows图标,甚至是配置图标。其他方法仅重设文件和文件夹中的
iconcs

我最近注意到的是,IconCache.db通常不一定存在,但是如上所述重新启动explorer.exe也可以解决该问题。
anre

1
这个答案值得所有支持和认可
。IMO

16
  1. 具有管理员权限的打开命令控制台
  2. taskkill /IM explorer.exe /F
  3. CD /d %userprofile%\AppData\Local
  4. DEL IconCache.db /a
  5. explorer.exe通过任务管理器开始

1
为我工作,赢了8.1
Spike0xff

6

有一种干净的方法可以关闭Explorer.exe显示任务栏和桌面图标的实例。

您必须弹出经典Shutdown对话框窗口。我发现完成此操作的唯一常见方法是:

  1. 保留至少一个像素的桌面背景,没有重叠的Windows,然后单击它以专注于桌面本身(带有图标的像素)。

  2. Alt+ F4键盘快捷键:然后将显示经典的“关闭”对话框。

  3. 现在,按住CTRL + ALT + SHIFT单击Cancel


为什么这样做?CTRL + ALT + SHIFT单击“取消”有什么作用?
Dean Meehan 2015年

2
另外:打开Windows 7开始菜单,按住Ctrl-Shift并右键单击“关机/注销/重新启动”按钮上方的空白区域(以默认配置为准)。出现一个菜单,其中有“退出浏览器”选项。单击它,资源管理器终止。
弗兰

如果您使用Windows 7 startmenu技巧,请务必File Explorer先关闭所有窗口,这一点很重要!然后,您可以Exit Explorer从Windows 7开始菜单中。首先打开命令提示符。下一步,单击开始菜单,按住Ctrl+Shift并在Shutdown按钮上方右击以显示Exit Explorer子菜单选项,然后单击它。在命令提示符下,键入,CD /d %userprofile%\AppData\Local然后键入del IconCache.db /a,最后键入explorer
Arvo Bowen

要恢复您的开始菜单,请按ctrl + alt + del然后提交文件:新任务并输入explorer.exe
jaggedsoft '16

按下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中工作正常快速又容易。通过任务栏CMD图标中的“ QuickEdit”和“以管理员身份运行”设置,我只需在上面复制文本,然后单击CMD图标就可以创建bat文件。键入,copy con clearcache.bat然后按Enter,然后单击鼠标右键将其粘贴。再按一次Enter,然后按Ctrl-Z完成创建文件的工作。然后我键入clearcache运行它。窗口闪烁,所有图标恢复固定。整个修复过程总共花费了30秒。谢谢。优秀的答案。
SDsolar '17

2

如果不想创建.bat,请复制后面的行,按Win+ R,粘贴并按Enter

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

您也可以将其粘贴到资源管理器窗口的地址栏中。当然,在命令行窗口中(您不需要cmd /c那么),但是如果您再次需要它,您将没有一行可以轻松地重复它。

注意事项

除非您确定自己是系统中的唯一用户,否则不要在提升权限的提示符下运行此行,否则您将在所有打开的会话中杀死Explorer 。因此,请勿在“ 运行”对话框中按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/zh-CN/windows/desktop/api/shlobj_core/nf-shlobj_core-shchangenotify


-1

如果要完整刷新的图标缓存,请转到Windows资源管理器的地址栏,然后键入“ C:\ Users *用户名* \ AppData \ Local”,然后删除IconCache.db。

**注意:**它可能是隐藏文件。因此,我建议打开“在文件夹选项中显示隐藏文件”。


1
请仔细阅读问题。您的答案没有回答原始问题。
DavidPostill

-1

不是很漂亮但是很有效:

C:> tskill资源管理器


1
这还不够。您还必须删除图标缓存数据库。无论如何,其他答案已经涵盖了杀死资源管理器。
DavidPostill
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.