
Существует ли утилита, которая сгенерирует список всех имен файлов определенного типа в заданной папке и позволит распечатать этот список?
Поиск Windows соответствует моим пожеланиям по пользовательскому интерфейсу, но результаты поиска не могут бытьнапечатано.
В некоторой степени это можно сделать с помощью скрипта оболочки.
for /r %f in (*.*) do echo %~nF >> report.txt
Однако список вывода не обязательно алфавитный. Что еще важнее, тип файла фильтра поиска должен быть изменен через консоль. Причина, по которой я также ищу пользовательский интерфейс, заключается в том, что эта возможность может быть использована другими членами моей семьи, которые гораздо менее технически подкованы, чем я; люди, для которых просто вызвать консоль — это значительное усилие.
Короче говоря, я ищу приложение, которое будет:
Список всех файлов заданного типа в заданном месте
Разрешить визуальную сортировку списка
Распечатать листинг в том виде, в котором он представлен
решение1
Как вы сказали, вы можете сделать это с помощью скрипта оболочки. Вы можете сортировать, используя команду dir вместо команды for. Файлы могут быть перечислены в алфавитном порядке, используя /ON
, или вы можете выбрать сортировку по какому-либо другому фактору (например, по времени создания). Чтобы указать тип файла, вы просто перечисляете расширения в конце с подстановочным знаком вместо имени файла. Например, чтобы перечислить все файлы типа, txt
отсортированные по алфавиту, вы должны ввести dir /ON *.txt
. Есть и другие варианты, такие как фильтрация по атрибуту файла. Вы можете прочитать о них, используя dir /?
.
Обновлять:
Я нашел эту статью Microsoft Knowledgebase, в которой описывается, как добавить опцию "Печать списка каталогов" в контекстное меню папки. Я попробовал это на своем ноутбуке, и, кажется, это работает. Вы можете прочитать это здесь и загрузить их инструмент для автоматической настройки (или получить инструкции, чтобы сделать это вручную, самостоятельно):
http://support.microsoft.com/kb/321379
решение2
Вы можете попробовать запустить это из окна командной строки:
dir/a/b/s *.txt > filelist.txt