用cmd命令合并N个文件

今天早上朋友发我一篇小说(42个TXT文件),让我给他合并为一个文件。我首先想到的是“Copy”命令,它可以复制文件,也可以合并文件。

例如:合并1.txt和2.txt到12.txt(其为ASCII文本文件则使用“/a”,二进制文件使用“/b”)

copy 1.txt /a + 2.txt /a 12.txt

但是这并不能满足让我一下合并42个文件的需求,忽然想到这不是一个“TXT文件”而且还是ASCII文本文件么?直接用“Type”命令,然后重定向到一个文件不就OK了。于是打开“命令提示符”,使用“cd”命令将当前路径改为小说所在目录,再使用一条命令就解决了合并问题:

请注意:txt文件排序正常(01、02、03……99),才能简单的用“*.txt”来表示文件名。

type *.txt>>..\小说.txt

对于文件名为1.txt,2.txt,3.txt……10.txt、11.txt……20.txt,21.txt……这种的,上面的命令可就会出错了。因为它会排序成“1.txt,10.txt,11.txt……2.txt,20.txt,21.txt……”,对此,我想出的策略是:要么修改文件名称,要么用“For”命令来解决。

“For”命令解决方案:(注意,此命令是直接在“命令提示符”窗口输入的,所以使用“%i”,用批处理文件应使用“%%i”)

for /l %i (1 1 42) do type %i.txt>>..\小说.txt
上一篇:前后端分离之【接口文档管理及数据模拟工具docdoc与dochelper】


下一篇:20145213《Java程序设计》实验报告一:Java开发环境的熟悉(Windows+IDEA)