【发布时间】:2016-02-23 00:42:11
【问题描述】:
如果有人可以帮助我解决这个请求,我们将不胜感激。
我需要一个动态批处理脚本,它可以对任意数量的文件执行以下命令:
Copy 1.txt + 2.txt + 3.txt + 4.txt newfile.txt
问题是,如果我有以下文件:
1.txt
2.txt
3.txt
...等等
我尝试:Copy *.txt newfile.txt 合并时排序不正确。
它实际上最终会这样做:Copy 3.txt + 4.txt + 2.txt + 1.txt newfile.txt
另外,我需要它来使用 copy 命令而不是 type 命令。
我找不到正确的方法,因为大多数在线 FOR 循环示例都使用 TYPE,这不适合我想要实现的目标。
非常感谢您的帮助!
【问题讨论】:
-
您很快就会发现批处理文件中列出的文件不会按数字顺序排序。文件将以 1.txt 10.txt 2.txt 等形式出现。您将需要一个额外的实用程序来按您想要的顺序获取文件。我建议您使用 Dave Benham 的 JSORT 实用程序。 dostips.com/forum/viewtopic.php?f=3&t=5595
-
@Squashman:你可能是对的......
-
Dostips.com 上还有一个 SORTN.BAT 实用程序。同样,您需要将 DIR 命令的结果通过管道传输到此批处理文件,然后捕获输出以构建您的复制命令。 dostips.com/?t=Batch.SortTextWithNumbers
-
请注意,像这样的命令行的长度是有限的,我认为是 8192 字节......另一件事:是否有
.txt文件带有前导零,如01.txt?
标签: batch-file cmd copy