Findstr

Findstr — команда в интерпретаторах командной строки (оболочках) Windows[1][2] и ReactOS[3]. Предназначена для поиска заданной текстовой строки в компьютерных файлах[4].

Что важно знать
findstr
Тип команда оболочки
Разработчики Microsoft, участники ReactOS
Операционные системы Windows, ReactOS
Аппаратная платформа кроссплатформенная
Лицензия Windows: проприетарная коммерческая
ReactOS: GNU General Public License
Сайт docs.microsoft.com/en-us…

Общее описание

Команда findstr выводит найденные в файле строки на стандартное устройство вывода[5]. Команда схожа с командой find, однако find поддерживает UTF-16, в то время как findstr — нет. С другой стороны, findstr может использовать регулярные выражения, что недоступно в find.

Программа findstr впервые была выпущена как часть набора Windows 2000 Resource Kit под названием qgrep[6].

findstr не поддерживает поиск по нулевым байтам, которые часто встречаются в файлах Unicode[7].

Синтаксис

FINDSTR [флаги] строки [диск:][путь]имя_файла[...]

Аргументы:

  • флаги — любой набор параметров, описанных ниже.
  • строки — текст, который ищется.
  • [диск:][путь]имя_файла — конкретный файл или файлы для поиска.

Флаги:

  • /B — считает совпадением, если шаблон находится в начале строки.
  • /E — совпадение шаблона только в конце строки.
  • /L — искать строки буквально.
  • /R — использовать строки поиска как регулярные выражения.
  • /S — искать совпадения в текущем каталоге и всех подкаталогах.
  • /I — искать без учёта регистра.
  • /X — выводить только строки, совпадающие полностью.
  • /V — выводить только строки, не содержащие совпадений.
  • /N — выводить номер строки перед совпавшей строкой.
  • /M — выводить только имя файла, если в файле есть совпадение.
  • /O — выводить смещение символа перед каждой совпавшей строкой.
  • /P — пропускать файлы с непечатаемыми символами.
  • /OFF[LINE] — не пропускать файлы с установленным атрибутом offline.
  • /A:attr — задать цветовые атрибуты с помощью двух шестнадцатеричных цифр. Подробнее — команда "color /?".
  • /F:file — считать список файлов из указанного файла ("/" — из консоли).
  • /C:string — использовать строку как буквальный критерий поиска.
  • /G:file — взять строки поиска из указанного файла ("/" — из консоли).
  • /D:dir — искать в списке каталогов, разделённых точкой с запятой.

Примечание: Для получения справки по команде выполните:

 FINDSTR /?

Пример

Сохранить перечень запущенных служб в файл _services.txt и выполнить в этом файле поиск строк, содержащих слово "network" (без учёта регистра):

  @echo off
  set searchstr=network
  net start>_services.txt  
  FINDSTR /I "%searchstr%" _services.txt
  pause

Результат будет выглядеть следующим образом:

 Network Connections
 Network List Service
 Network Location Awareness
 Network Store Interface Service
 Windows Media Player Network Sharing Service
 Press any key to continue . . .

Примечания

Литература

  • Stanek, William R. Windows Command-Line Administrator's Pocket Consultant, 2nd Edition. — Microsoft Press, 2008. — ISBN 978-0735622623.
  • John Paul Mueller. Windows Administration at the Command Line for Windows Vista, Windows 2003, Windows XP, and Windows 2000. — John Wiley & Sons, 2007. — ISBN 978-0470165799.

Ссылки