解决 Windows 软件图标显示不正常

jipa233 技术分享 发布于 2022-05-19 最后更新于 2023-04-17 11,245 次阅读


AI 摘要

在 Windows 中,可能会出现软件图标显示不正常的问题,比如出现白图标、快捷方式小图标丢失、开始界面图标变白等。这些问题的原因之一是 Windows 将图标文件缓存在了 IconCache.db 文件中,如果缓存得不到及时刷新,就会导致问题。解决这些问题的方法有三种:删除 IconCache.db 文件、使用 Windows 自带的磁盘清理工具、使用批处理清除图标缓存数据库。如果这些方法都不管用,那么问题可能超出了「图标缓存」的范畴,需要考虑其他方面的影响,比如软件安装错误、软件图标丢失等。

在 Windows 中,经常会出现与图标有关的问题:无法正常显示软件图标、快捷方式小图标丢失、开始界面图标变白……遇到这种情况时,反复刷新起不到任何作用。而出现这些问题的一大原因,是 Windows 为了提升图标显示速度,将图标文件缓存在了 IconCache.db 文件中。一旦更新了图标或修改了源文件的位置,缓存得不到及时刷新,就会出现「白图标」的情况。
如何手动刷新 Windows 的图标缓存呢?通常有三种方法。

方法一 删除 IconCache.db 文件

进入C:\Users\用户名\appdata\local目录,直接删除IconCache.db文件,重启电脑。
需要注意的是,这一步中 appdata 文件夹和 IconCache.db 文件都是隐藏的系统文件,需要手动输入地址或者显示隐藏文件。

IconCache.db文件本质上是一个图标属性文件,在删除后系统会自动重建一个,由它导致的问题会被系统自动修复。
这个方法简单快捷,适用于大部分情况。

方法二 Windows 自带的磁盘清理工具

有时候IconCache.db文件会被其他软件占用,那就试试 Windows 官方提供的清理工具。
打开开始菜单,找到Windows 管理工具 → 磁盘清理 → C 盘 → 勾选「缩略图」→ 确定。即可将图标缓存文件顺利删除。

最后重启电脑即可看到图标刷新的效果。

方法三 批处理清除图标缓存数据库

如果上面两个方法都无法解决问题,那就试试更暴力的批处理吧。
这段批处理文件会删除IconCache.db文件,同时还清理thumbcache.db文件和注册表中的IconStreams、PastIconsStream两个值。清理速度很快,除了会重启一下资源管理器外没有副作用。
打开记事本,将下面这段代码复制到记事本中,保存为 图标缓存清理.bat文件,双击打开即可。

rem 关闭Windows外壳程序explorer
taskkill /f /im explorer.exe
rem 清理系统图标缓存数据库
attrib -h -s -r "%userprofile%\AppData\Local\IconCache.db"
del /f "%userprofile%\AppData\Local\IconCache.db"
attrib /s /d -h -s -r "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\*"
del /f "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_32.db"
del /f "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_96.db"
del /f "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_102.db"
del /f "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_256.db"
del /f "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_1024.db"
del /f "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_idx.db"
del /f "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_sr.db"
rem 清理 系统托盘记忆的图标
echo y|reg delete "HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\TrayNotify" /v IconStreams
echo y|reg delete "HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\TrayNotify" /v PastIconsStream
rem 重启Windows外壳程序explorer
start explorer

如果上面这三种方法还是没能解决图标问题,说明问题已经超出了「图标缓存」的范畴,需要考虑其他方面的影响(比如软件安装错误、软件图标丢失等)。

Deed divides beings into lower and higher ones.
最后更新于 2023-04-17