Notepad++ 不支持自动覆盖旧备份或限制备份数量;Simple backup 模式下每次保存覆盖同名 .bak 文件,With timestamp 模式下无限生成带时间戳的备份文件,且无内置轮转策略,需依赖外部脚本清理。

Notepad++ 不支持“自动覆盖旧备份文件”这种行为——它压根没有提供控制备份文件数量或轮转策略的选项。你看到的 .bak 文件,要么是重复覆盖(Simple backup),要么是不断新增(With timestamp),根本不存在“保留最近 3 个、自动删最老”的逻辑。
Simple backup 模式下,.bak 文件确实是覆盖的
启用 Backup on save 并勾选 Simple backup(而非 With timestamp)时,每次你按 Ctrl+S 手动保存,Notepad++ 就会在原文件同目录生成(或覆盖)一个同名 .bak 文件。
- 比如
config.json→ 保存后生成/覆盖config.json.bak - 再保存一次,
config.json.bak被新内容覆盖,旧版本彻底丢失 - 这个过程不依赖“自动保存”,只响应你的
Ctrl+S动作
With timestamp 模式下,文件只会越积越多
一旦你勾选了 With timestamp(即使同时开了 Backup on save),每次保存都会生成带时间戳的新文件,例如:
script.py_20261027_074522.bak<br>script.py_20261027_075311.bak<br>script.py_20261027_080109.bak
- Notepad++ 不提供任何配置项来限制数量、设置过期时间或自动清理
- 这些文件不会被自动删除,也不会被覆盖,只能手动删或靠外部脚本管理
- 路径含中文、空格或在 OneDrive 同步目录中时,部分备份可能静默失败,但成功生成的仍会无限累积
AutoSave 插件也不管备份轮转,它只写原文件
很多人误以为装了 AutoSave 插件就能控制备份,其实它完全绕过 .bak 机制:
-
AutoSave的作用是把当前编辑内容**直接写回原文件**(如main.js),不生成.bak,也不做任何版本保留 - 它没有“备份”概念,更不涉及覆盖或轮转逻辑
- 如果你想要类似 Git 的轻量历史,得另装
Local History插件,它会在.history/下存多份副本,但也需手动清理
真正要实现“覆盖旧备份”或“保留 N 个”,得靠外部手段:Windows 可用 forfiles 命令定期删老 .bak,Linux/macOS 可用 find -name "*.bak" -mtime +7 -delete。Notepad++ 自身配置里,没有那个开关。











