/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */
#content_views .toc,
/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */
#content_views.markdown_views > p:empty:has(+ .toc),
#content_views.markdown_views > .toc + p:empty,
/* 富文本旧版目录标记 */
#content_views.htmledit_views #main-toc,
#content_views.htmledit_views #hr-toc,
#content_views.htmledit_views p[id*=\”-toc\”] {
display: none !important;
}
/* 目录去掉后,紧跟的首个标题不再多出一块上边距 */
#content_views.markdown_views > .toc + h1,
#content_views.markdown_views > .toc + h2,
#content_views.markdown_views > .toc + h3,
#content_views.markdown_views > .toc + h4,
#content_views.markdown_views > .toc + p:empty + h1,
#content_views.markdown_views > .toc + p:empty + h2,
#content_views.markdown_views > .toc + p:empty + h3,
#content_views.markdown_views > .toc + p:empty + h4 {
margin-top: 0 !important;
}
Windows 下 .exe 文件后缀强制隐藏的排查与修复(NeverShowExt 注册表终极解法)
-
- 一、问题环境
- 二、排查过程
-
- 2.1 确认文件夹选项设置
- 2.2 检查 HKCR.exe 根键(此路不通)
- 2.3 检查 HKCR\\exefile(🎯 找到元凶)
- 三、根因分析
-
- 为什么只有 .exe 受影响?
- 可能来源
- 四、修复方法
-
- 4.1 删除 NeverShowExt
- 4.2 重启资源管理器
- 4.3 验证
- 五、进阶:如果删除后自动恢复
-
- 5.1 检查启动项
- 5.2 检查计划任务
- 5.3 检查 Shell 扩展
- 5.4 检查组策略覆盖
- 六、总结
问题现象:Windows 资源管理器已开启"显示文件扩展名",所有其他文件类型的后缀都能正常显示,唯独 .exe 文件的后缀死活不显示。把 .txt 改成 .exe,后缀立刻消失。360、金山毒霸、火绒全盘扫描均无事发现。
一、问题环境
| 系统 | Windows 10 / 11 |
| 现象 | 仅 .exe 文件后缀强制隐藏,其他类型正常 |
| 已排除 | 文件夹选项"隐藏已知文件类型的扩展名"已取消勾选 |
| 杀软扫描 | 360 / 金山毒霸 / 火绒 均无检出 |
二、排查过程
2.1 确认文件夹选项设置
首先确认资源管理器的显示设置没问题:
文件夹选项 → 查看 → 取消勾选"隐藏已知文件类型的扩展名"
同时用注册表确认:
reg query "HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced" /v HideFileExt
正常输出应为:
HideFileExt REG_DWORD 0x0
⚠️ 如果这里是 0x1,说明设置没生效,先改成 0。
也可导航如下地址查看
计算机\\HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced

2.2 检查 HKCR.exe 根键(此路不通)
reg query "HKEY_CLASSES_ROOT\\.exe"
输出:
HKEY_CLASSES_ROOT\\.exe
(默认) REG_SZ exefile
Content Type REG_SZ application/x-msdownload
✅ 这个键是干净的,没有异常值,排除了 .exe 扩展名映射被篡改的可能。 
2.3 检查 HKCR\\exefile(🎯 找到元凶)
reg query "HKEY_CLASSES_ROOT\\exefile" /s
关键输出:
HKEY_CLASSES_ROOT\\exefile
(默认) REG_SZ Application
EditFlags REG_BINARY 38070000
FriendlyTypeName REG_EXPAND_SZ @%SystemRoot%\\System32\\shell32.dll,-10156
NeverShowExt REG_SZ ← 🔴 就是它!!
NeverShowExt 这个值的存在,会强制让资源管理器隐藏该类型文件的扩展名,且不受文件夹选项中"显示扩展名"设置的影响。 
三、根因分析
为什么只有 .exe 受影响?
Windows 的文件扩展名显示逻辑分两层:
当 exefile 这个 ProgID 键下存在 NeverShowExt 值时,无论全局开关怎么设,.exe 文件的后缀都会被强制隐藏。
可能来源
| 国产"安全/优化"工具 | 某些工具会添加此项,美其名曰"防止用户误改 exe" |
| 公司域镜像/组策略 | 企业环境中通过镜像或脚本统一推送 |
| 软件残留 | 某软件安装时写入,卸载时未清理 |
| 恶意篡改 | 部分恶意软件通过此方式隐藏真实文件类型 |
注意:这不是病毒文件,只是一条注册表值,所以传统杀软扫描磁盘文件不会报毒。
四、修复方法
4.1 删除 NeverShowExt
以管理员身份打开 CMD,执行:
reg delete "HKEY_CLASSES_ROOT\\exefile" /v NeverShowExt /f

4.2 重启资源管理器
taskkill /f /im explorer.exe
start explorer.exe

4.3 验证
五、进阶:如果删除后自动恢复
如果执行删除后,过一段时间 NeverShowExt 又自动出现,说明有后台进程在实时写回注册表。继续排查:
5.1 检查启动项
reg query "HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\Run"
reg query "HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run"
5.2 检查计划任务
打开 taskschd.msc,查看是否有可疑的自启任务。
5.3 检查 Shell 扩展
reg query "HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\Shell Extensions\\Approved"
5.4 检查组策略覆盖
reg query "HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer" /v HideFileExt
reg query "HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer" /v HideFileExt
企业域环境下,组策略可能会定期刷回该设置,需联系 IT 管理员处理。
六、总结
| 文件夹选项 | GUI 设置 | ✅ 已开启显示扩展名 |
| HideFileExt | HKCU\\…\\Advanced | ✅ 值为 0 |
| HKCR.exe | reg query | ✅ 干净 |
| HKCR\\exefile | reg query /s | 🔴 发现 NeverShowExt |
| 修复 | reg delete + 重启 Explorer | ✅ 解决 |
一句话总结:问题出在 HKEY_CLASSES_ROOT\\exefile 键下的 NeverShowExt 值,删除即可恢复。
💡 排查心得:Windows 文件扩展名的显示受"全局开关 + 类型级开关"双重控制。当全局开关已开但某个类型仍异常时,要去看该类型对应的 ProgID 键(如 exefile、txtfile)下是否有 NeverShowExt,而不是只看 .xxx 扩展名映射键。
如果这篇文章帮你省了几个小时排查时间,点个赞再走吧 👋 有问题欢迎评论区交流。





