CMD Использование DIR для заказа каталогов по имени
Я использую следующую команду для вывода списка файлов, в том числе в подкаталогах, упорядоченных по имени.
dir /b/s/on
Файлы правильно упорядочены в заданных каталогах, но каталоги не упорядочены. Похоже, что каталоги упорядочены по дате последнего изменения.
Является dir в состоянии также сортировать каталоги?
Вот скриншот сегмента вывода (обфусцированный):

1 ответ
dir это обход дерева по каталогу, но только сортировка записей в конечных каталогах. Это проблема, потому что это файловая система FAT. В файловой системе FAT записи в любом каталоге не сортируются, что приводит к несортировке обхода дерева. Каталоги NTFS, напротив, всегда сортируются.
У вас есть пара решений. Проще всего было бы передать вывод через sort:
dir /b/s | sort
(Если вы используете sort чтобы сделать заказ, нет необходимости в /on возможность dir.)
Другой вариант - использовать Unix-стиль. lsчто, безусловно, получит это право. Примеры будут ls либо в Cygwin, либо в моей собственной оболочке Hamilton C.