1

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

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

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

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

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

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

Спасибо

2 ответа2

2

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

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

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

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

2

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

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

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

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