findstrfindstr

Выполняет поиск шаблонов текста в файлах.Searches for patterns of text in files.

Синтаксис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/b Соответствует шаблону текста, если он находится в начале строки.Matches the text pattern if it is at the beginning of a line.
/e/e Соответствует шаблону текста, если он находится в конце строки.Matches the text pattern if it is at the end of a line.
/l/l Обрабатывает строки поиска буквально.Processes search strings literally.
/r/r Обрабатывает строки поиска в виде регулярных выражений.Processes search strings as regular expressions. Это параметр по умолчанию.This is the default setting.
/s/s Выполняет поиск в текущем каталоге и во всех подкаталогах.Searches the current directory and all subdirectories.
/i/i Игнорирует регистр символов при поиске строки.Ignores the case of the characters when searching for the string.
/x/x Выводит строки, которые точно соответствуют друг другу.Prints lines that match exactly.
/v/v Выводит только те строки, которые не содержат совпадений.Prints only lines that don't contain a match.
/n/n Выводит номер строки каждой соответствующей строки.Prints the line number of each line that matches.
/m/m Печатает только имя файла, если файл содержит совпадение.Prints only the file name if a file contains a match.
/o/o Выводит смещение символов перед каждой совпадающей строкой.Prints character offset before each matching line.
/p/p Пропускает файлы с непечатаемыми символами.Skips files with non-printable characters.
"/OFF" [строка]/off[line] Не пропускает файлы с установленным атрибутом offline.Does not skip files that have the offline attribute set.
ключа<file>/f:<file> Возвращает список файлов из указанного файла.Gets a file list from the specified file.
/c:<string>/c:<string> Использует указанный текст в качестве литеральной строки поиска.Uses the specified text as a literal search string.
/g<file>/g:<file> Возвращает строки поиска из указанного файла.Gets search strings from the specified file.
/d<dirlist>/d:<dirlist> Выполняет поиск в указанном списке каталогов.Searches the specified list of directories. Каждый каталог должен быть отделен точкой с запятой (например,;) dir1;dir2;dir3 .Each directory must be separated with a semicolon (;), for example dir1;dir2;dir3.
/<colorattribute>/a:<colorattribute> Задает атрибуты цвета с двумя шестнадцатеричными цифрами.Specifies color attributes with two hexadecimal digits. Введите дополнительные color /? сведения.Type color /? for additional information.
<strings> Задает текст для поиска в файле filename.Specifies the text to search for in filename. Обязательный элемент.Required.
[\<drive>:][<path>]<filename>[ ...] Указывает расположение и файл или файлы для поиска.Specifies the location and file or files to search. Требуется по крайней мере одно имя файла.At least one file name is required.
/?/? Отображает справку в командной строке.Displays Help at the command prompt.

ПримечанияRemarks

  • Все параметры командной строки findstr должны предшествовать строкам и именам файлов в строке команды.All findstr command-line options must precede strings and filename in the command string.

  • Для поиска шаблонов текста в регулярных выражениях используются как литеральные символы, так и мета-символы, а не точные строки символов.Regular expressions use both literal characters and meta-characters to find patterns of text, rather than exact strings of characters.

    • Литеральный символ — это символ, который не имеет особого значения в синтаксисе регулярных выражений; Вместо этого он соответствует вхождению этого символа.A literal character is a character that doesn't have a special meaning in the regular-expression syntax; instead, it matches an occurrence of that character. Например, буквы и цифры являются литеральными символами.For example, letters and numbers are literal characters.

    • Мета-символ — это символ с особым значением (оператор или разделитель) в синтаксисе регулярных выражений.A meta-character is a symbol with special meaning (an operator or delimiter) in the regular-expression syntax.

      Допустимые мета-символы:The accepted meta-characters, are:

      Мета-символMeta-character ЗначениеValue
      . Подстановочный знак — любой символWildcard - Any character
      * Повтор — ноль или более вхождений предыдущего символа или класса.Repeat - Zero or more occurrences of the previous character or class.
      ^ Начальное расположение строки — начало строки.Beginning line position - Beginning of the line.
      $ Конечное расположение строки — конец строки.Ending line position - End of the line.
      [class] Класс символов — любой символ в наборе.Character class - Any one character in a set.
      [^class] Обратный класс — любой символ, не наявляющийся в наборе.Inverse class - Any one character not in a set.
      [x-y] Range — все символы в указанном диапазоне.Range - Any characters within the specified range.
      \x Escape -литеральное использование мета-символа.Escape - Literal use of a meta-character.
      <string Начальное расположение слова — начало слова.Beginning word position - Beginning of the word.
      string> Конечное расположение слова -конец слова.Ending word position - End of the word.

      Специальные символы в синтаксисе регулярных выражений обеспечивают наибольшее энергопотребление при совместном использовании.The special characters in regular expression syntax have the most power when you use them together. Например, используйте сочетание символа-шаблона ( . ) и Repeat ( * ), чтобы соответствовать любой строке символов: .*For example, use the combination of the wildcard character (.) and repeat (*) character to match any string of characters: .*

      Используйте следующее выражение как часть выражения большего размера для сопоставления любой строки, начинающейся с b , и заканчивая оператором with:b.*ingUse the following expression as part of a larger expression to match any string beginning with b and ending with ing: b.*ing

  • Для поиска нескольких строк в наборе файлов необходимо создать текстовый файл, содержащий каждый критерий поиска в отдельной строке.To search for multiple strings in a set of files, you must create a text file that contains each search criterion on a separate line.

  • Используйте пробелы для разделения нескольких строк поиска, если только аргумент не имеет префикса с параметром /c.Use spaces to separate multiple search strings unless the argument is prefixed with /c.

ПримерыExamples

Для поиска Hello или в файле x. yвведите:To search for hello or there in file x.y, type:

findstr hello there x.y

Чтобы найти Hello в файле x. y, введите:To search for hello there in file x.y, type:

findstr /c:hello there x.y

Чтобы найти все вхождения слова Windows (с заглавной буквой W) в файле proposal.txt, введите:To find all occurrences of the word Windows (with an initial capital letter W) in the file proposal.txt, type:

findstr Windows proposal.txt

Для поиска всех файлов в текущем каталоге и всех подкаталогах, содержащих слово Windows, независимо от регистра букв, введите:To search every file in the current directory and all subdirectories that contained the word Windows, regardless of the letter case, type:

findstr /s /i Windows *.*

Чтобы найти все вхождения строк, начинающихся с и, предшествует нулю или большему числу пробелов (как в цикле компьютерной программы ) и для вывода номера строки, где найдено каждое вхождение, введите:To find all occurrences of lines that begin with FOR and are preceded by zero or more spaces (as in a computer program loop), and to display the line number where each occurrence is found, type:

findstr /b /n /r /c:^ *FOR *.bas

Чтобы получить список точных файлов, которые необходимо найти в текстовом файле, используйте условия поиска в файле stringlist.txt, чтобы найти файлы, перечисленные в filelist.txt, а затем сохраните результаты в файле Results. out, введите:To list the exact files that you want to search in a text file, use the search criteria in the file stringlist.txt, to search the files listed in filelist.txt, and then to store the results in the file results.out, type:

findstr /g:stringlist.txt /f:filelist.txt > results.out

Чтобы получить список всех файлов, содержащих слово Computer в текущем каталоге и всех подкаталогах, не зависимо от регистра, введите:To list every file containing the word computer within the current directory and all subdirectories, regardless of case, type:

findstr /s /i /m <computer> *.*

Чтобы получить список всех файлов, содержащих слово Computer, и других слов, начинающихся с «Comp» (например, «Привет» и «конкурировать»), введите:To list every file containing the word computer and any other words that begin with comp, (such as compliment and compete), type:

findstr /s /i /m <comp.* *.*

Дополнительные ссылкиAdditional References