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.