Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Выполняет поиск шаблонов текста в файлах.
Syntax
findstr [/b] [/e] [/l | /r] [/s] [/i] [/x] [/v] [/n] [/m] [/o] [/p] [/f:<file>] [/c:<string>] [/g:<file>] [/d:<dirlist>] [/a:<colorattribute>] [/off[line]] <strings> [<drive>:][<path>]<filename>[ ...]
Parameters
| Parameter | Description |
|---|---|
| /b | Соответствует шаблону текста, если оно находится в начале строки. |
| /e | Соответствует шаблону текста, если он находится в конце строки. |
| /l | Обрабатывает строки поиска буквально. |
| /r | Обрабатывает строки поиска в виде регулярных выражений. Это параметр по умолчанию. |
| /s | Выполняет поиск текущего каталога и всех подкаталогов. |
| /i | Игнорирует регистр символов при поиске строки. |
| /x | Печатает строки, соответствующие точно. |
| /v | Печатает только строки, не содержащие совпадения. |
| /n | Выводит номер строки каждой строки, которая соответствует. |
| /m | Выводит только имя файла, если файл содержит совпадение. |
| /o | Выводит смещение символов перед каждой соответствующей строкой. |
| /p | Пропускает файлы с непечатаемыми символами. |
| /off[line] | Не пропускает файлы с автономным набором атрибутов. |
/f:<file> |
Возвращает список файлов из указанного файла. |
/c:<string> |
Использует указанный текст в качестве строки поиска литерала. |
/g:<file> |
Возвращает строки поиска из указанного файла. |
/d:<dirlist> |
Выполняет поиск указанного списка каталогов. Каждый каталог должен быть разделен точкой с запятой (;), например dir1;dir2;dir3. |
/a:<colorattribute> |
Задает атрибуты цвета с двумя шестнадцатеричными цифрами. Введите color /? для получения дополнительных сведений. |
<strings> |
Указывает текст для поиска в имени файла. Required. |
[\<drive>:][<path>]<filename>[...] |
Указывает расположение и файлы для поиска. Требуется по крайней мере одно имя файла. |
| /? | Отображает справку в командной строке. |
Remarks
Все параметры командной строки findstr должны предшествовать строкам и имени файла в командной строке.
Регулярные выражения используют как литеральные символы, так и мета-символы для поиска шаблонов текста, а не точных строк символов.
Литеральный символ — это символ, который не имеет специального значения в синтаксисе регулярных выражений; вместо этого он соответствует вхождениям этого символа. Например, буквы и цифры являются литеральными символами.
Мета-символ — это символ со специальным значением (оператором или разделителем) в синтаксисе регулярных выражений.
Допустимые мета-символы:
Meta-character Value .Wildcard - Любой символ *Повторить — ноль или более вхождений предыдущего символа или класса. ^положение начальной строки — начало строки. $положение конечной строки — конец строки. [class]Класс символов - Любой символ в наборе. [^class]Обратный класс - Любой символ, не входящий в набор. [x-y]Range - Любые символы в указанном диапазоне. \xEscape - Буквальное использование мета-символа. \<stringначальной позиции слова — начало слова. string\>Окончание позиции слова - конец слова. Специальные символы в синтаксисе регулярных выражений имеют большую мощность при их совместном использовании. Например, используйте сочетание подстановочного знака (
.) и повторяйте (*) символ, чтобы соответствовать любой строке символов:.*Используйте следующее выражение как часть более крупного выражения, чтобы сопоставить любую строку, начинающуюся с b и заканчивающуюся на ing:
b.*ing
Чтобы найти несколько строк в наборе файлов, необходимо создать текстовый файл, содержащий каждый критерий поиска в отдельной строке.
Используйте пробелы для разделения нескольких строк поиска, если аргумент не имеет префикса /c.
Examples
Чтобы найти hello или there в файле x.y, введите:
findstr hello there x.y
Чтобы найти там hello в файле x.y, введите:
findstr /c:"hello there" x.y
Чтобы найти все вхождения слова Windows (с начальной заглавной буквой W) в файле proposal.txt, введите:
findstr Windows proposal.txt
Для поиска в каждом файле в текущем каталоге и во всех подкаталогах, содержащих слово Windows, независимо от регистра буквы, введите:
findstr /s /i Windows *.*
Чтобы найти все вхождения строк, которые начинаются с FOR и которым предшествует ноль или более пробелов (как в цикле компьютерной программы), и чтобы отобразить номер строки, где найдено каждое вхождение, введите:
findstr /b /n /r /c:^ *FOR *.bas
Чтобы перечислить именно те файлы, которые вы хотите найти в текстовом файле, используйте критерии поиска в файлеstringlist.txt, для поиска файлов, перечисленных в filelist.txt, а затем для сохранения результатов в файле results.out введите:
findstr /g:stringlist.txt /f:filelist.txt > results.out
Чтобы получить список всех файлов, содержащих слово компьютер в текущем каталоге и во всех подкаталогах, независимо от регистра, введите:
findstr /s /i /m \<computer\> *.*
Чтобы перечислить каждый файл, содержащий компьютер слова и любые другие слова, начинающиеся с комп, (например, комплимент и конкуренция), введите:
findstr /s /i /m \<comp.* *.*