在Win11中可用type *.txt >> total.txt命令轻量合并当前文件夹所有txt文件;若需按数字序(如report_01.txt到report_12.txt)正确排序,须用含dir /b /on的批处理脚本实现。

在Win11中,用命令行把当前文件夹下所有txt文件按字节顺序拼接成一个total.txt报表,是最轻量、零安装、不弹窗的合并方式,特别适合处理几十个日志、导出数据或分卷文本。
准备:确保文件位置和编码干净
把所有待合并的 .txt 文件统一放在同一个文件夹里,比如 【D:\report\】。不要混入非txt文件,否则type *.txt会尝试读取并可能报错中断;如果某些txt是UTF-8带BOM或ANSI编码混杂,合并后可能出现乱码——此时应先用记事本批量另存为“UTF-8无BOM”格式。
右键点击该文件夹空白处 → 选择“在终端中打开”(Win11原生支持);若无此选项,按住Shift+右键 → “在此处打开Powershell窗口” → 输入 cmd 回车切换到CMD模式。
执行合并:一行命令搞定
在已打开的命令行窗口中,直接输入:
type *.txt >> total.txt
回车运行。这会按Windows文件系统默认排序(通常是ASCII码序,不是自然序),把所有txt内容追加写入新文件total.txt。注意 >> 是追加写入,不会覆盖已有total.txt;如果想强制覆盖,请用 > 替代。
如果要指定保存路径(比如存到桌面),写成:type *.txt >> "%USERPROFILE%\Desktop\total.txt",引号防止路径含空格出错。
控制顺序:按文件名数字序合并(关键场景)
当你的报表文件名为 report_01.txt、report_02.txt … report_12.txt 时,type *.txt 默认按字符排序,会导致 report_10.txt 排在 report_2.txt 前面——顺序错乱。
第一步:新建一个临时批处理文件 merge.bat,内容为:
@echo off<br>setlocal enabledelayedexpansion<br>for /f "delims=" %%i in ('dir /b /on report_*.txt 2^>nul') do (<br> type "%%i" >> total.txt<br>)
第二步:把 merge.bat 放进同一文件夹,双击运行。/on 参数启用按名称排序(含数字识别),【2^>nul】用于屏蔽找不到文件时的错误提示,避免中断】。
第三步:删掉 merge.bat,保留生成的 total.txt。

















