我正在将多个文本文件合并(连接)为一个,但我遇到的问题是它们在文本末尾没有换行符。
有没有办法使用 Windows 命令或批处理文件将新行附加到所有文件?
我正在使用cmd.exe
Windows Vista。
答案1
您可以将其作为批处理文件运行
del merged.txt
for %%I in (*.txt) do (
echo %%~fI >> merged.tmp
echo ------------- >> merged.tmp
type "%%I" >> merged.tmp
echo. >> merged.tmp
echo. >> merged.tmp
)
ren merged.tmp merged.txt
这样您就不必指定名称,但所有文件必须位于同一个文件夹中。
echoecho %%~fI
完整路径名,其他选项可以参考
help for
除此之外,如果结果不完全符合你的要求,你只需要echo
改变
答案2
您可以使用 COPY 连接文件
例如,文件:data1.txt 和 data2.txt 可以通过以下方式组合:
copy data1.txt + data2.txt dataFull.txt
结果将在 dataFull.txt 中。如果您忽略目标,则所有内容都将在第一个列出的文件中。
为了确保换行,最简单但不是最优雅的方法是创建一个文件 newline.txt,它只是一个空白行,并将其包含在每个文件后面:
copy data1.txt + newline.txt + data2.txt dataFull.txt
将此添加包含到循环结构中是相当简单的。