Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как вывести все файлы с расширением 4 и более символов через cmd?

Nikita Smolin Ученик (111), закрыт 1 день назад
нужно вывести все файлы диска C с расширением 4 и более символов, пытался сделать это через where /R . *.*???? , но он читает и точки в названиях файлов из-за чего отрабатывает не так как нужно, как можно это реализовать?
Лучший ответ
Алексей Мыслитель (7312) 2 дня назад
Регуляркой что-то типа такого

where /R . *.???? | findstr /r "\.[a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9]$"
Nikita SmolinУченик (111) 2 дня назад
можно ли заменить "\.[a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9]$" на что-то проще? по типу [^.] ?
Алексей Мыслитель (7312) Nikita Smolin, саму регулярку можно заменить на \.[a-zA-Z0-9]{4} но винда не поймёт
Nikita SmolinУченик (111) 2 дня назад
ну вот проблема where /R . *.???? находит только файлы с расширением из 4 символов, можно ли как то сделать что бы не только 4 но и более 4?
Алексей Мыслитель (7312) Nikita Smolin, возможно так where /R . *.*???? | findstr /r "\.[a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9*]$" Вообще, конечно, должно быть {4,} - но тут увы с поддержкой в данной команде
Остальные ответы
Лайт Ягами Искусственный Интеллект (335397) 2 дня назад
Сомневаюсь, что без полноценных регулярок это возможно
Игорь Горохов Просветленный (25228) 2 дня назад
dir /b | findstr .*\.....
"dir /b" - это чтобы файлы текущего каталога вывести
Nikita SmolinУченик (111) 2 дня назад
все что оно показало
Игорь Горохов Просветленный (25228) Nikita Smolin, Каталоги, которые .vscode, .docker - понятно - тут нужно с параметрам "dir" играться, чтобы оно каталоги не выводило. А вот с постргесом интереснее, у тебя эти файлы, действительно с таким расширением?
Редис Александрович Оракул (80800) 2 дня назад
 dir "C:\*.*" /S /B | findstr /R "\.[^\.]\{4,\}$" 
Nikita SmolinУченик (111) 2 дня назад
она почему то не отрабатывает
Похожие вопросы