如果有人能帮我解决这个问题,我将不胜感激。
我需要一个动态批处理脚本,可以对任意数量的文件执行以下命令:
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,但这并不适合我想要实现的目标。
非常感谢您的帮助!
答案 0 :(得分:0)
尝试以下脚本:
@ECHO OFF
SETLOCAL EnableDelayedExpansion
SET _cmd=COPY
FOR /F %%G IN ( 'DIR /O:N /B *.txt' ) DO (
SET _cmd=!_cmd! %%G +
)
SET _cmd=!_cmd:~0,-2! newfile.txt
ECHO !_cmd!
脚本是"惰性"因为它输出完成的命令行,但实际上并没有发出它。删除最后一行的ECHO
以激活它。