Получить файлы, отсортированные без расширения в пакете

382
user2254436

Я хотел бы иметь возможность получить все файлы в папке, только имена (без пути и без расширения) и отсортированные по имени, в простой пакетный файл.

Я знаю, как получить все имена, но это не отсортировано:

for %%i in (*.mxf) do @echo %%~ni >> names.txt 

И я знаю, как отсортировать имена, но это идет с расширением:

dir /b /o:n >> names.txt 

Как я могу объединить две команды? Только имена и отсортированы.

Спасибо

1

2 ответа на вопрос

2
Pimp Juice IT

Вы можете поместить dirкоманду с применимыми опциями сортировки в цикл for / f и перенаправить вывод оттуда в файл, дающий ожидаемый результат - это способ объединить их в соответствии с запросом.

Пример скрипта

for /f "tokens=*" %%i in ('dir /b /o:n "*.mxf"') do @echo %%~ni >> names.txt 

Дополнительные ресурсы

2
mxttie

Вы можете направить вывод в команду сортировки :

(for %%i in (*.mxf) do @echo %%~ni) | sort /o names.txt

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

Похожие вопросы