我希望创建一个批处理文件,它应该将存在的所有文本文件的内容复制到一个文件中

时间:2018-01-13 09:05:07

标签: batch-file

我尝试了copy *.txt "Final.txt",但我希望在复制每个文件后都有一个新行。

2 个答案:

答案 0 :(得分:1)

your_file.bat的内容:

for %%a in (*.txt) do type %%a >> final.txt & echo. >> final.txt

echo.是添加空行。 &是批处理文件中的命令分隔符。 >>附加到文本文件,>每次都会创建新的final.txt

PS:最好将final.txt放在不同的目录中或使用其他扩展程序,例如final.doc否则final.txt内容将被添加到结果中。

答案 1 :(得分:1)

在每个文件之后取一个新行"不太文字,type *.txt >final.txt 2>&1可以做(它在每个文件前添加文件名)。从字面上回答你的问题:单独copy无法做到这一点。您必须遍历文件并将内容和空行附加到生成的文件中:

(for %%A in (*.txt) do (
  type %%a
  echo/
))>final.tmp
ren final.tmp final.txt

只有重定向一次比打开,写入和关闭每个文件和每个空行的文件要快得多(你只用一些文件就不会注意到它,但如果你有很多文件就会有所不同)

提示:您可以轻松地做一些空行(echo/)而不是空行(如echo ====== %%A ======type *.txt >final.txt 2>&1,它将在每个文件之前添加带有文件名的标题(与
相同 for,但更明显。)