
Если я хочу увидеть, например, файлы определенного расширения только с помощью списка каталогов, я могу сделать это с помощью команды:
DIR *.txt
И он показывает все файлы с .txt
расширением.
Теперь я хочу узнать, есть ли команда, с помощью которой я могу исключить определенные расширения?
Например, я не хочу видеть ни один файл с расширением .exe
, как я могу это сделать?
решение1
DIR не позволит сделать то, что вы пытаетесь сделать. Однако DIR вместе с FINDSTR могут решить эту проблему.
например, следующий код игнорирует все файлы .txt в списке DIR.
dir | findstr /v /i "\.txt$"
решение2
dir /B | find /V ".txt"
Это выведет список всех файлов, а find отфильтрует все, что не содержит ".txt". Это далеко от совершенства, но, возможно, этого достаточно :)
решение3
Это зависит от вашего интерпретатора команд.
У Microsoft cmd
нет такой возможности, как вы можете видеть из других ответов, где нужно постобрабатывать вывод dir
. Однако инструмент отTCC/LE от JP Softwareимеет эту функцию. Это называетсядиапазон исключения файлови используется следующим образом для примера в вашем вопросе:
каталог /[!*.exe] *
решение4
Для этого определите макрос с помощью DOSKEY
. Я исключил каталоги и проигнорировал регистр – YMMV. Также, /B
кажется, это наиболее разумный DIR
вариант фильтрации, /D
и /W
не подходит для задачи, и длинные форматы /N
(по умолчанию) и /X
содержащие, в некоторых случаях, дополнительный текст после имени файла (для символических ссылок). Проверьте это в командной строке:
DOSKEY FIR=DIR/B/A-D^|FINDSTR /VIE $*
DOSKEY FLIR=DIR/X/A-D^|FINDSTR /VIE $*
FIR
дляотфильтровано DIR
, понял? :) И FLIR
для длинной версии, если нужно. Тогда используйте ее так:
fir .jpg
flir jpg
fir "jpg htm"
Последнее связано с тем, как FINDSTR
считывает шаблоны, предоставленные в качестве аргументов, как описано в /?
. Только первый аргумент рассматривается как шаблон, дополнительные аргументы интерпретируются как имена файлов, даже при запуске в конвейере.
Я предпочитаю FINDSTR
его, а не просто, FIND
потому что у него есть необычный /E
переключатель, который фильтрует только в конце строки, что кажется предпочтительным при фильтрации по расширению файла (но опять же, YMMV).
УдобныйСайт SS64объясняет, как настроить макросы в TXT
файле для постоянного повторного использования. Будьте осторожны, нет каретки ^
для экранирования специальных символов для макросов, сохраненных в текстовом файле.
Чтобы понять основы работы макросов («консольных псевдонимов»), прочтитеКраткие комментарии Эрика Сана о SO.