在 Windows cmd 中的“copy /b *.dat foo”中指定排序顺序

在 Windows cmd 中的“copy /b *.dat foo”中指定排序顺序

copy /b *.data foo通常,当我在 Windows cmd 中执行时,*.data文件会按排序顺序连接到目标文件中foo。这符合我想要的行为。

但是,我刚刚遇到了一个奇怪的目录,这个copy /b命令会将文件无序地复制到该目录中。该顺序并不是完全随机的,而是按排序顺序倒数第二个文件将首先复制,然后是按排序顺序复制其余文件。

有没有办法克服这种奇怪的排序行为?更一般地说,如果我想以相反的顺序复制文件怎么办?

答案1

这将连接文件(甚至带有空格的) 以相反的顺序:

C:\> for /f "tokens=*" %i in ('dir /a-d /o-n /b c:\some_dir\*') do @type %i >> c:\another_dir\dest.dat

如果文件很少,可以明确列出它们:

C:\> copy /b c.dat+a.dat+b.dat dest.dat

类似这样的方法在某些情况下可能会有效:

C:\> copy /b file*.dat+foo.dat+bar*.dat dest.dat

相关内容