Notepad++保存失败主因是权限不足,需以管理员身份运行并手动打开hosts文件;若仍报错,须检查NTFS权限、取消只读属性、关闭预览窗格及调整编码格式。

Notepad++ 保存失败,八成是权限没到位,不是软件坏了,也不是你操作错了——直接以管理员身份运行,再配合正确的打开方式,90% 的“拒绝访问”“Failed to save file”都能当场解决。
为什么必须以管理员身份运行 Notepad++
Windows 对 C:\Windows\System32\drivers\etc\hosts、C:\Program Files 下的配置文件等路径做了严格保护。普通用户启动的 Notepad++ 进程,默认只有读取权,写入会被 UAC 拦截。哪怕你只是改一行 hosts,系统也认作“修改系统级资源”,必须显式提权。
- 右键
notepad++.exe或快捷方式 → “以管理员身份运行”是最直接验证方式 - 若想一劳永逸:右键快捷方式 → 属性 → 兼容性 → 勾选「以管理员身份运行此程序」
- 注意:勾选后每次启动都会弹 UAC 提示,这是 Windows 正常行为,关掉 UAC 反而更不安全
拖拽打开 hosts 文件会失败
很多人把 hosts 文件直接拖进 Notepad++ 窗口,能编辑、能显示,但 Ctrl+S 一定报错。因为拖拽动作是在当前用户上下文里触发的文件读取,Notepad++ 并不会自动用管理员令牌去写回——哪怕它本身是以管理员身份启动的。
- 正确做法:先确保 Notepad++ 是以管理员身份运行的,再用
File → Open(或Ctrl+O)手动导航到C:\Windows\System32\drivers\etc\打开hosts - 打开对话框中记得把文件类型设为「所有文件」,否则
hosts会被过滤掉 - 别信“内容能显示=有写权限”,保存才是唯一检验标准
即使提权了还报错?检查文件和文件夹 ACL
以管理员身份运行后仍提示“拒绝访问”,说明 hosts 文件或其所在文件夹的 NTFS 权限没给够。尤其是 etc 文件夹默认不继承父目录权限,且 hosts 文件本身可能被设为只读或所有权不属于你。
- 进入
C:\Windows\System32\drivers\etc,右键hosts→ 属性 → 安全 → 高级 - 点击「更改权限」→ 「添加」→ 「选择主体」→ 输入你当前用户名 → 确定
- 在下方权限列表中勾选「完全控制」→ 务必勾选「替换所有子对象权限项」→ 点击确定
- 顺手检查下
hosts文件本身的「常规」选项卡,确认「只读」没被勾选
别漏掉编码和预览窗口这两个隐形坑
有些保存失败跟权限无关,而是触发了底层校验或资源占用:
- 编码问题:某些网络共享盘或老旧服务对无 BOM 的 UTF-8 不兼容,可试
Encoding → Convert to UTF-8-BOM后再保存 - 文件名/路径含非法字符(如
<、|、?)也会导致保存中断,尤其在脚本生成的临时路径里 - Windows 资源管理器开启预览窗格(按
Alt+P可关闭)会独占文件句柄,导致 Notepad++ 报“文件正被另一进程使用”
真正麻烦的从来不是“怎么提权”,而是提权之后才发现文件夹权限没同步、预览窗口在后台锁着文件、或者编码格式刚好卡在某个边缘场景——这些点不一个个过,光点“是”同意 UAC 提示也没用。

















