我尝试了copy *.txt "Final.txt"
,但我希望在复制每个文件后都有一个新行。
答案 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
,但更明显。)