findstrfindstr

Pesquisa padrões de texto em arquivos.Searches for patterns of text in files.

SintaxeSyntax

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>[ ...]

ParâmetrosParameters

ParâmetroParameter DescriçãoDescription
/b/b Corresponde ao padrão de texto se estiver no início de uma linha.Matches the text pattern if it is at the beginning of a line.
/e/e Faz a correspondência do padrão de texto se ele estiver no final de uma linha.Matches the text pattern if it is at the end of a line.
/l/l Processa cadeias de caracteres de pesquisa literalmente.Processes search strings literally.
/r/r Processa cadeias de caracteres de pesquisa como expressões regulares.Processes search strings as regular expressions. Essa é a configuração padrão.This is the default setting.
/s/s Pesquisa o diretório atual e todos os subdiretórios.Searches the current directory and all subdirectories.
/i/i Ignora o caso dos caracteres ao pesquisar a cadeia de caracteres.Ignores the case of the characters when searching for the string.
/x/x Imprime as linhas que correspondem exatamente.Prints lines that match exactly.
/v/v Imprime apenas as linhas que não contêm uma correspondência.Prints only lines that don't contain a match.
/n/n Imprime o número de linha de cada linha correspondente.Prints the line number of each line that matches.
/m/m Imprime somente o nome do arquivo se um arquivo contiver uma correspondência.Prints only the file name if a file contains a match.
/o/o Imprime o deslocamento de caractere antes de cada linha correspondente.Prints character offset before each matching line.
/p/p Ignora arquivos com caracteres não imprimíveis.Skips files with non-printable characters.
/off [linha]/off[line] Não ignora arquivos que têm o atributo offline definido.Does not skip files that have the offline attribute set.
f<file>/f:<file> Obtém uma lista de arquivos do arquivo especificado.Gets a file list from the specified file.
/c<string>/c:<string> Usa o texto especificado como uma cadeia de caracteres de pesquisa literal.Uses the specified text as a literal search string.
/g<file>/g:<file> Obtém as cadeias de caracteres de pesquisa do arquivo especificado.Gets search strings from the specified file.
/d<dirlist>/d:<dirlist> Pesquisa a lista de diretórios especificada.Searches the specified list of directories. Cada diretório deve ser separado com um ponto e vírgula (;), por exemplo dir1;dir2;dir3 .Each directory must be separated with a semicolon (;), for example dir1;dir2;dir3.
SRDF<colorattribute>/a:<colorattribute> Especifica os atributos de cor com dois dígitos hexadecimais.Specifies color attributes with two hexadecimal digits. Digite color /? para obter informações adicionais.Type color /? for additional information.
<strings> Especifica o texto a ser pesquisado em nome de arquivo.Specifies the text to search for in filename. Obrigatórios.Required.
[\<drive>:][<path>]<filename>[...] Especifica o local e arquivo ou arquivos a serem pesquisados.Specifies the location and file or files to search. É necessário pelo menos um nome de arquivo.At least one file name is required.
/?/? Exibe a ajuda no prompt de comando.Displays Help at the command prompt.

ComentáriosRemarks

  • Todas as opções de linha de comando findstr devem preceder cadeias de caracteres e nome de arquivo na cadeia de comando.All findstr command-line options must precede strings and filename in the command string.

  • As expressões regulares usam caracteres literais e metacaracteres para localizar padrões de texto, em vez de cadeias de caracteres exatas.Regular expressions use both literal characters and meta-characters to find patterns of text, rather than exact strings of characters.

    • Um caractere literal é um caractere que não tem um significado especial na sintaxe de expressão regular; em vez disso, ele corresponde a uma ocorrência desse caractere.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. Por exemplo, letras e números são caracteres literais.For example, letters and numbers are literal characters.

    • Um meta-caractere é um símbolo com significado especial (um operador ou delimitador) na sintaxe de expressão regular.A meta-character is a symbol with special meaning (an operator or delimiter) in the regular-expression syntax.

      Os metacaracteres aceitos são:The accepted meta-characters are:

      Meta-caractereMeta-character ValorValue
      . Curinga -qualquer caractereWildcard - Any character
      * REPEAT -zero ou mais ocorrências da classe ou caractere anterior.Repeat - Zero or more occurrences of the previous character or class.
      ^ Posição da linha inicial – início da linha.Beginning line position - Beginning of the line.
      $ Posição da linha final -fim da linha.Ending line position - End of the line.
      [class] Classe de caractere -qualquer caractere em um conjunto.Character class - Any one character in a set.
      [^class] Classe inversa -qualquer caractere que não esteja em um conjunto.Inverse class - Any one character not in a set.
      [x-y] Intervalo -todos os caracteres dentro do intervalo especificado.Range - Any characters within the specified range.
      \x Escape -uso literal de um caractere de meta.Escape - Literal use of a meta-character.
      \<string Iniciando posição do Word -início da palavra.Beginning word position - Beginning of the word.
      string\> Posição da palavra final -fim da palavra.Ending word position - End of the word.

      Os caracteres especiais na sintaxe de expressão regular têm o máximo de energia ao usá-los juntos.The special characters in regular expression syntax have the most power when you use them together. Por exemplo, use a combinação do caractere curinga ( . ) e o caractere REPEAT ( * ) para corresponder a qualquer cadeia de caracteres: .*For example, use the combination of the wildcard character (.) and repeat (*) character to match any string of characters: .*

      Use a expressão a seguir como parte de uma expressão maior para corresponder a qualquer cadeia de caracteres que comece com b e terminando com ing: b.*ingUse the following expression as part of a larger expression to match any string beginning with b and ending with ing: b.*ing

  • Para pesquisar várias cadeias de caracteres em um conjunto de arquivos, você deve criar um arquivo de texto que contenha cada critério de pesquisa em uma linha separada.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.

  • Use espaços para separar várias cadeias de caracteres de pesquisa, a menos que o argumento seja prefixado com /c.Use spaces to separate multiple search strings unless the argument is prefixed with /c.

ExemplosExamples

Para procurar Olá ou no arquivo x. y, digite:To search for hello or there in file x.y, type:

findstr hello there x.y

Para procurar Olá no arquivo x. y, digite:To search for hello there in file x.y, type:

findstr /c:"hello there" x.y

Para localizar todas as ocorrências da palavra Windows (com uma letra inicial maiúscula W) no arquivo proposal.txt, digite:To find all occurrences of the word Windows (with an initial capital letter W) in the file proposal.txt, type:

findstr Windows proposal.txt

Para pesquisar todos os arquivos no diretório atual e todos os subdiretórios que continham a palavra Windows, independentemente do caso de letra, digite: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 *.*

Para localizar todas as ocorrências de linhas que começam com for e são precedidas por zero ou mais espaços (como em um loop de programa de computador) e para exibir o número de linha em que cada ocorrência é encontrada, digite: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

Para listar os arquivos exatos que você deseja pesquisar em um arquivo de texto, use os critérios de pesquisa no arquivo stringlist.txt, para pesquisar os arquivos listados em filelist.txt e, em seguida, para armazenar os resultados no arquivo Results. out, digite: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

Para listar cada arquivo que contém a palavra Computer no diretório atual e todos os subdiretórios, independentemente do caso, digite:To list every file containing the word computer within the current directory and all subdirectories, regardless of case, type:

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

Para listar todos os arquivos que contêm o computador do Word e as outras palavras que começam com comp, (como elogio e competir), digite: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.* *.*

Referências adicionaisAdditional References