notepad++无原生多文件一键合并功能,需满足文件全开、编码一致、行尾符统一三前提;推荐combine插件处理混合编码,nppexec适合大批量合并,ctrl+j仅限手动选中区域换行转空格。

Notepad++ 本身没有“选中多个文件→一键合并”的原生功能,所有看似快捷的操作都依赖三个前提:文件已全部打开、编码一致、行尾符统一。跳过任一环节,中文乱码、段落粘连、空行错位就会立刻出现。
用「文件 → 合并文件」前必须确认标签页顺序和编码
这个菜单项只对当前 Notepad++ 实例中「已打开且未关闭」的标签页生效,按从左到右顺序拼接,每段之间自动加一个空行(不可关闭)。
- 先全部打开目标文件:可多选后拖入窗口,或按
Ctrl+O多选打开 - 检查右下角状态栏:所有文件编码必须一致(如全是
UTF-8或全是GBK),否则中文变问号;不一致就点「编码 → 转为 UTF-8」再保存 - 确认行尾符统一:菜单「视图 → 显示符号 → 显示所有字符」,看是否都是
CRLF或都是LF;混用会导致前后内容“粘”在一起 - 顺序即标签页顺序:想控序就提前在资源管理器里重命名成
01_章.txt这类,再批量打开
Combine 插件处理混合编码最省心
当源文件含 UTF-8 with BOM、GBK、ANSI 混合时,内置「合并文件」会失败,而 Combine 插件能自动识别并转码,适合小说、日志等真实场景。
- 安装:
插件 → 插件管理器 → 显示插件管理器,搜索Combine并勾选安装 - 操作:全部文件用
Ctrl+O打开 →插件 → Combine → Start→ 勾选所有标签页 → 点Combine→ 选路径保存 - 注意:
Combine默认按标签页顺序,不是文件名顺序;输出文件编码固定为UTF-8 without BOM;它不会修改原始文件
用 NppExec 执行 copy /b 合并大量文件
适合几十个文件、或需自定义分隔的场景。命令行快,但编码继承第一个被合并文件——仍需提前统一,否则乱码或截断。
- 确保已安装
NppExec(菜单「插件 → 插件管理器」勾选) - 示例脚本(合并当前目录下所有
.txt文件):NPP_SAVE cd $(CURRENT_DIRECTORY) cmd /c"copy /b *.txt merged_output.txt"
-
copy /b避免文本模式插入^Z结束符,但不控制编码;若要显式指定UTF-8,得换用 PowerShell:Get-Content *.txt -Encoding UTF8 | Set-Content merged.txt -Encoding UTF8 - 想在每段前插入文件名?NppExec 脚本需写
for循环 +echo,但路径含空格时极易出错,新手慎用
Ctrl+J 合并多行内容为一行的隐藏限制
这个快捷键本质是「把选中区域的所有换行符替换成单个空格」,不是全文自动处理,也不支持自定义分隔符。
- 必须先手动选中要合并的文本范围;光标放在某处按
Ctrl+J完全没反应 - 它强制插入一个空格,无法改成逗号、制表符或空字符串;需要无间隔拼接,得切到「查找替换」用正则:
\R替换为空 - 若选中文本含空行(连续两个换行),
Ctrl+J会变成「空格+空格」,视觉上像多出空格,需额外清理 - 正则替换时,
\r\n和\n不可互换;文档混用两种换行符时,\R更可靠(匹配任一类型)
最容易被忽略的是:所有方案都默认不校验文件是否为空。如果某个源文件是空的,它依然会被“合并”进去,可能造成意外空段。需要跳过空文件、加章节标题、统一分隔逻辑的,Python 脚本仍是唯一可控路径——但那就超出 Notepad++ 自身能力了。











