Compartilhar via


findstr

Pesquisa padrões de texto em arquivos.

Sintaxe

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âmetros

Parâmetro Descrição
/b Corresponde ao padrão de texto se ele estiver no início de uma linha.
/e Corresponde ao padrão de texto se ele estiver no final de uma linha.
/l Processa cadeias de caracteres de pesquisa literalmente.
/r Processa cadeias de caracteres de pesquisa como expressões regulares. Essa é a configuração padrão.
/s Pesquisa o diretório atual e todos os subdiretórios.
/eu Ignora o caso dos caracteres ao pesquisar a cadeia de caracteres.
/x Imprime linhas que correspondem exatamente.
/v Imprime apenas linhas que não contêm uma correspondência.
/n Imprime o número de linha de cada linha que corresponde.
/m Imprime apenas o nome do arquivo se um arquivo contiver uma correspondência.
/em Imprime o deslocamento de caractere antes de cada linha correspondente.
/p Ignora arquivos com caracteres não imprimíveis.
/off[linha] Não ignora arquivos que têm o atributo offline definido.
/f:<file> Obtém uma lista de arquivos do arquivo especificado.
/c:<string> Usa o texto especificado como uma cadeia de caracteres de pesquisa literal.
/g:<file> Obtém cadeias de caracteres de pesquisa do arquivo especificado.
/d:<dirlist> Pesquisa a lista de diretórios especificada. Cada diretório deve ser separado com um ponto-e-vírgula (;), por exemplo, dir1;dir2;dir3.
/um:<colorattribute> Especifica atributos de cor com dois dígitos hexadecimal. Digite color /? para obter informações adicionais.
<strings> Especifica o texto a ser pesquisado em nome de arquivo. Obrigatório
[\<drive>:][<path>]<filename>[...] Especifica o local, o arquivo ou os arquivos a serem pesquisados. Pelo menos um nome de arquivo é necessário.
/? Exibe a Ajuda no prompt de comando.

Observações

  • Todas as opções de linha de comando findstr devem preceder cadeias de caracteres e nome de arquivo na cadeia de caracteres de comando.

  • Expressões regulares usam caracteres literais e meta-caracteres para encontrar padrões de texto, em vez de cadeias de caracteres exatas.

    • 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. Por exemplo, letras e números são caracteres literais.

    • Um meta-caractere é um símbolo com significado especial (um operador ou delimitador) na sintaxe de expressão regular.

      Os meta-caracteres aceitos são:

      Meta-caractere Valor
      . curinga - Qualquer caractere
      * Repetir - Zero ou mais ocorrências do caractere ou classe anterior.
      ^ posição da linha inicial – Início da linha.
      $ Posição final da linha – Fim da linha.
      [class] classe character - Qualquer caractere em um conjunto.
      [^class] classe inversa - qualquer caractere que não está em um conjunto.
      [x-y] Range - Todos os caracteres dentro do intervalo especificado.
      \x Escape – Uso literal de um meta-caractere.
      \<string Posição da palavra inicial – Início da palavra.
      string\> Posição final da palavra – Fim da palavra.

      Os caracteres especiais na sintaxe de expressão regular têm mais poder quando você os usa juntos. Por exemplo, use a combinação do caractere curinga (.) e repita (*) caractere para corresponder a qualquer cadeia de caracteres: .*

      Use a expressão a seguir como parte de uma expressão maior para corresponder a qualquer cadeia de caracteres começando com b e terminando com de: 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.

  • Use espaços para separar várias cadeias de caracteres de pesquisa, a menos que o argumento seja prefixado com /c.

Exemplos

Para procurar hello ou no arquivo x.y, digite:

findstr hello there x.y

Para pesquisar olá, no arquivo x.y, digite:

findstr /c:"hello there" x.y

Para localizar todas as ocorrências da palavra windows (com uma letra maiúscula inicial W) no arquivo proposal.txt, digite:

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 da letra, digite:

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:

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.txte, em seguida, para armazenar os resultados no arquivo resultados.out, digite:

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

Para listar todos os arquivos que contêm a palavra computador dentro do diretório atual e todos os subdiretórios, independentemente do caso, digite:

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

Para listar todos os arquivos que contêm o computador word e quaisquer outras palavras que comecem com comp, (como elogio e competição), digite:

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