Раньше это было действительно легко в старых ОС.
dir /o:n >> list.txt
for %a in (`list.txt`) do copy %a ..\ordered
И вуаля, там был список файлов в другой папке, созданный в отсортированном порядке. Таким образом, когда я выполняю обычное dir ..\ordered
order, файлы будут отображаться в порядке их имен файлов.
Это больше не работает в новых системах. Когда я выполняю вышеизложенное, каталог dir ..\ordered
order заканчивается отображением файлов в том же порядке, в котором они находились в исходной папке.
Я попытался скопировать на другой диск. Файлы были скопированы по одному с использованием сценария в алфавитном порядке; Я даже делал паузы между копиями, чтобы убедиться, что какое-то кэширование не заставляет их записывать на диск не по порядку. Однако, когда я выполняю команду dir
, они снова отображаются не по порядку - на этот раз в другом порядке, чем в исходном каталоге. Однако копирование на один и тот же диск несколько раз приводит к тому же порядку на этом диске.
Я проверил, на каких атрибутах основан порядок сортировки по dir
, чтобы узнать, могу ли я подправить эти атрибуты. Я проверил следующие атрибуты
Date
Date Accessed
Date Created
Date Last Saved
Date Modified
Сортировка по этим атрибутам никогда не давала того же порядка, что и команда dir
.
Как переопределить это поведение и получить индивидуальный порядок при запуске dir
?