【发布时间】:2022-01-13 18:52:57
【问题描述】:
操作系统:Windows 10
这里是示例目录结构。
D:\Fruits\Apple\ a.txt k.txt c.txt
D:\Fruits\Mango\ g.txt q.txt b.txt
我想像这样合并每个文件夹的txt文件。
D:\Fruits\Apple\ a.txt k.txt c.txt merge.txt (a+k+c)
D:\Fruits\Mango\ g.txt q.txt b.txt merge.txt (g+q+b)
@echo 关闭
for /r " D:\Fruits" %%a in (*.txt) 输入 "%%a" >>"merge.txt"
我尝试了这批,但结果不是我的预期。
D:\Fruits\merge.txt (a+k+c+g+q+b)
请帮助我如何继续执行任务。谢谢。
【问题讨论】:
-
如果您不递归执行此操作,则不需要
for循环,只需Type "D:\Fruits\*.txt" 1>"merge.txt"即可。您也可以使用Copy命令Copy "D:\Fruits\*.txt" "merge.txt"来完成。请打开命令提示符窗口,输入copy /?以阅读其使用信息,同样type /?以了解其他命令的工作原理。如果您想递归地执行此操作,那么您将需要for循环序列,但是,我仍然建议您使用For /F循环,(for /?)。跨度> -
您还需要注意,如果您希望合并的文本文件结果位于其各自源文件所在的每个子目录中,那么您可能需要重新考虑命名结果文件具有相同的扩展名。如果您不这样做,它会尝试将自己包含在自己的结果中。
标签: windows batch-file cmd merge txt