CMD: Поиск файлов по имеющемуся в их имени символу

Рейтинг: 0Ответов: 1Опубликовано: 13.02.2015

Каким образом с помощью командной строки Windows можно найти файлы, в имени которых есть 1 или 2 повторения конкретного символа? Например, вывести все файлы папки F, содержащие в имени 1 или 2 буквы A.

Ответы

▲ 1

Ищем файлы с одной буквой А

dir /B | findstr /R "^.*A.*$" > uniqinput.txt

Ищем файлы с несколькими буквами А

dir /B | findstr /R "^.*A.*A.*$" >> uniqinput.txt

Проверяем количество символов и удаляем повторяющиеся строки

setlocal disabledelayedexpansion
set "prev="
for /f "delims=" %%F in ('sort uniqinput.txt') do (
  set curr=%%F
  setlocal enabledelayedexpansion

  FOR /F "tokens=1,2,3 delims=A" %%b IN ("%%F") do (
    if "%%d" == "" (
        if !prev! neq !curr! echo !curr! >> find.txt
    )
  )

  endlocal
  set "prev=%%F"
)

Если я правильно всё понял