2

Обычно, когда я выполняю copy /b *.data foo в Windows cmd, файлы *.data объединяются в отсортированном порядке в целевой файл foo . Это соответствует моему желаемому поведению.

Однако я только что встретил любопытный каталог, в котором эта команда copy /b будет копировать файлы не по порядку. Порядок не является абсолютно случайным, но второй последний файл в отсортированном порядке будет идти первым, а затем остальные файлы в отсортированном порядке.

Есть ли способ преодолеть это странное поведение сортировки? В целом, что если я захочу скопировать файлы, скажем, в обратном порядке?

1 ответ1

2

Это объединит файлы (даже с пробелами) в обратном порядке:

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .