windows 10中可用cmd命令type *.txt > all_in_one.txt一键合并同目录下所有.txt文件,或用powershell的get-content -encoding指定编码避免乱码,全程不到3秒。

当你在Windows 10中面对几十个零散的.log、.txt或配置类小文本文件,需要快速整合成单个可读大文件用于排查日志、提交报告或批量分析时,不需要打开每个文件复制粘贴——命令行一条指令就能完成,全程不到3秒。
用cmd命令一键合并同一文件夹下所有.txt或.log文件
第一步:按 Win + R 打开“运行”框,输入 cmd 回车,进入命令提示符。
第二步:用 cd 命令切换到存放这些小文本文件的文件夹。例如文件全在 D:\logs\,就输入:cd /d D:\logs
注意必须加 /d 参数,否则跨盘符(如从C盘切到D盘)会失败。
第三步:执行合并命令:type *.txt > all_in_one.txt
这条命令会把当前目录下所有 .txt 文件按字母顺序依次读取、拼接,输出为 all_in_one.txt。如果要合并 .log 文件,把 *.txt 换成 *.log 即可。
第四步:检查结果——直接双击生成的 all_in_one.txt,内容已按文件名升序排列,首尾无缝衔接,无额外空行干扰。
合并时保留原始文件名作为分隔标记(增强可读性)
方法一:用 for 循环逐个追加并插入分隔行for %f in (*.txt) do @echo. && @echo === %f === && @type "%f"
这行命令会在每份文件内容前插入空行和带文件名的分隔线,但只显示在屏幕上,不保存到文件。
方法二:把带标记的内容真正写入新文件(for %f in (*.txt) do @echo. && @echo === %f === && @type "%f") > marked_all.txt
括号包裹整个 for 结构,再用 > 重定向输出,【必须用英文括号且前后不留空格,否则报错】。
遇到乱码?用PowerShell精准处理编码
cmd 的 type 命令默认按系统 ANSI 编码读取,若源文件是 UTF-8(尤其含中文、特殊符号),合并后可能变问号或方块。此时改用 PowerShell:
① 在当前文件夹空白处按住 Shift + 右键 → 选择“在此处打开 PowerShell 窗口”;
② 输入命令:Get-Content *.txt -Encoding UTF8 | Set-Content merged_utf8.txt -Encoding UTF8
该命令显式指定以 UTF8 编码读取并写入,彻底规避乱码;若文件实际是 GBK 编码,把两个 UTF8 全部换成 GBK 即可。
③ 合并完成后,merged_utf8.txt 可用记事本、VS Code 或 Notepad++ 正常打开,中文完整显示。











