*是。 **
你只需运行以下命令来清除图标缓存:
ie4uinit.exe -ClearIconCache
ie4uinit.exe -show
对于Windows 10,使用:
&001
&004
(http://www.youtube.com/watch?v=DSDI1MlR3fM) 查看这个[视频] [提示信用]
下面的方法从Vista开始就可以用了;它需要重启资源管理器,但不需要重启。停止所有的explorer.exe
实例,删除用户的隐藏IconCache.db
文件,然后重启资源管理器。
长版*(也有其他方法):
关闭当前打开的所有资源管理器窗口。
taskmgr.exe
。在 “进程 "选项卡中,右键单击explorer.exe
进程,选择结束进程_。 在命令提示符窗口中,逐一键入命令,并在每条命令后按回车键: 8.在任务管理器中,单击文件,选择新建任务(运行…)
9.输入CMD.EXE
,并单击确定。
指令步骤源
警告。当你删除IconCache.db文件时,Explorer.exe一定不要运行。如果explorer正在运行,下次关机时(例如,当你注销、关机或重启时),它会简单地写出当前(损坏的)图标。
taskkill /IM explorer.exe /F
3.CD /d %userprofile%\AppData\Local
4.DEL IconCache.db /a
5.通过任务管理器启动 explorer.exe
5.通过任务管理器启动 &007有一个干净的方法可以关闭Explorer.exe
实例,它显示任务栏和桌面图标。
你必须弹出经典的Shutdown
对话框窗口。我找到的唯一常用的方法是:
在桌面背景中留出至少一个像素的桌面背景,不要与Windows重叠,然后点击它,将焦点放在桌面本身(有图标的那个)。按快捷键Alt+F4键:然后出现经典的关机对话框。
现在,按住CTRL+ALT+SHIFT键点击Cancel
。
如果你不想做.bat
,就复制后面的这一行,按Win+R,粘贴后按回车键。
cmd /c taskkill /f /im explorer.exe & del /a %userprofile%\AppData\Local\IconCache.db & start explorer
你也可以把它粘贴在资源管理器窗口的地址栏里;当然,在命令行窗口里也可以(那时候你不需要cmd /c
),但你不会有这一行,可以很容易地重复它,以备下次需要。
**CAVEAT* :
不要在高架提示符中运行这一行,除非你确定你是系统中唯一的用户,否则你会在所有打开的会话中杀死 explorer ***。因此,不要在Run对话框中按Shift+Ctrl+Enter。
顺便说一下,我不觉得有必要反复看到cd /d
命令。
注意:
我用&
代替&&
,是为了防止其中一个命令失败,确保资源管理器重启。
虽然不是用户地答案,但简单的调用
SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NULL, NULL);
就可以做到这一点[1]。可能有人会创建一个工具来完成这个操作;目前,使用7-zip并尝试修改文件关联(对于所有用户;没有提升权限;这样做会失败,并告诉该操作失败)调用通知并重建图标缓存。 https://github.com/crazy-max/IconsRefresh 。
[1] https://docs.microsoft.com/en-us/windows/desktop/api/shlobj_core/nf-shlobj_core-shchangenotify
Elmo建议的ie4uinit.exe
是一个很好的选择,因为它在每个系统上都有。在我的一个复杂的批处理文件中,我遇到过它有时不能刷新的问题。Nircmd ](https://www.nirsoft.net/utils/nircmd.html) 是一个很好的选择,对我来说很有效。
如果你想要一个完全刷新的图标缓存,请到windows资源管理器的地址栏中输入 “C:UsersUsernameAppData",然后删除IconCache.db。所以我建议在文件夹选项中打开显示隐藏文件。