如何在Windows批处理文件中合并文件并添加换行符
解决Windows批处理合并文件时添加换行的问题
我懂你的困扰——你尝试用批处理合并三个文件,但始终没法在各文件内容之间插入换行,导致所有内容都挤在了一行。这是Windows批处理里echo命令的常见小坑,咱们来搞定它:
问题根源
你原来用的echo >>和echo. >>在某些场景下并不可靠:
echo >>如果不附带任何内容,部分环境下会输出ECHO is on.而非空行echo. >>如果当前目录存在名为echo的文件,会意外尝试读取该文件,而不是输出空行
修复后的脚本
在Windows批处理里,echo(是输出空行最稳定的方式,修改你的脚本如下:
Del Worker_all_for.dat Type Worker1.dat > Worker_all_for.dat echo( >> Worker_all_for.dat Type Worker2.dat >> Worker_all_for.dat echo( >> Worker_all_for.dat Type Worker3.dat >> Worker_all_for.dat
额外说明
如果你的源文件本身最后一行没有换行符(比如Worker1.dat的内容是1 2且结尾没有回车),echo(会帮你补上这个换行,让下一个文件的内容自动跳到新行;如果源文件已经有结尾换行,echo(会添加一个空行,要是你不需要这个额外空行,直接移除对应位置的echo(即可。
用修复后的脚本处理你的测试文件:
Worker1.dat:
1 2
Worker2.dat:3 4
Worker3.dat:5 6
合并后的Worker_all_for.dat内容会完全符合你的预期:
1 2 3 4 5 6
内容的提问来源于stack exchange,提问作者DBALUKE HUANG
相关产品推荐
相关产品推荐

