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.
/i 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 correspondente.
/m Imprime apenas o nome do arquivo se um arquivo contiver uma correspondência.
/o Imprime o deslocamento de caractere antes de cada linha correspondente.
/p Ignora arquivos com caracteres não imprimíveis.
/off[line] 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 especificada de diretórios. Cada diretório deve ser separado com um ponto e vírgula (;), por exemplo dir1;dir2;dir3.
/a:<colorattribute> Especifica atributos de cor com dois dígitos hexadecimais. Digite color /? para obter informações adicionais.
<strings> Especifica o texto a ser pesquisado no nome do arquivo. Obrigatórios.
[\<drive>:][<path>]<filename>[...] Especifica o local e o arquivo ou arquivos a serem pesquisados. É necessário pelo menos um nome de arquivo.
/? Exibe a ajuda no prompt de comando.

Comentários

  • 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, 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 inicial da linha – início da linha.
      $ Posição final da linha – fim da linha.
      [class] Classe de caractere – qualquer caractere em um conjunto.
      [^class] Classe inversa – qualquer caractere que não esteja em um conjunto.
      [x-y] Intervalo – todos os caracteres dentro do intervalo especificado.
      \x Escape – uso literal de um meta-caractere.
      \<string Posição inicial da palavra – 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 (*) 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 que começa com b e termina com 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.

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

Exemplos

Para pesquisar hello ou there arquivo x.y, digite:

findstr hello there x.y

Para pesquisar hello there 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 de a letra ser maiúscula ou minúscula, 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.txt e, em seguida, para armazenar os resultados no arquivo results.out, digite:

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

Para listar todos os arquivos que contêm a palavra computer no diretório atual e todos os subdireários, independentemente do caso, digite:

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

Para listar todos os arquivos que contêm a palavra computador e quaisquer outras palavras que comecem com comp, (como complementar e competir), digite:

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