Обычно, когда я делаю a copy /b *.data foo
в Windows cmd, *.data
файлы соединяются в отсортированном порядке в целевой файл foo
. Это соответствует моему желаемому поведению.
Однако я просто выполнил любопытный каталог в который это copy /b
команда скопирует файлы не в порядке. Порядок не является точно случайным, но предпоследним файлом в отсортированном порядке, пойдет сначала, сопровождаемый остающимися файлами в отсортированном порядке.
Существует ли способ преодолеть это странное поведение сортировки? В более общем плане, что, если я хочу скопировать файлы, скажем, в обратном порядке?
Это свяжет файлы (даже те с пробелами) в обратном порядке:
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