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.


