Partilhar via


findstr

Procura padrões de texto em ficheiros.

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. Esta é a configuração padrão.
/s Pesquisa o diretório atual e todos os subdiretórios.
/eu Ignora o caso dos caracteres ao procurar 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 da linha de cada linha correspondente.
/m Imprime apenas o nome do arquivo se um arquivo contiver uma correspondência.
/o Imprime o deslocamento de caracteres 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 especificada de diretórios. 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 hexadecimais. 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 e o arquivo ou arquivos a serem pesquisados. É necessário pelo menos um nome de ficheiro.
/? Exibe a Ajuda no prompt de comando.

Observações

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

  • As expressões regulares usam caracteres literais e metacaracteres para encontrar padrões de texto, em vez de cadeias exatas de caracteres.

    • 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 personagem. 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-caráter Valor
      . Wildcard - Qualquer personagem
      * Repetir - Zero ou mais ocorrências do caractere ou classe anterior.
      ^ Posição da linha inicial - Início da linha.
      $ Posição da linha final - Fim da linha.
      [class] Classe de personagem - 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-personagem.
      \<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 comece com b e termine 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 procurar olá ou no arquivo x.y, digite:

findstr hello there x.y

Para procurar olá lá no arquivo x.y, digite:

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:

findstr Windows proposal.txt

Para pesquisar todos os arquivos no diretório atual e todos os subdiretórios que continham a palavra Windows, independentemente da letra maiú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 da linha onde 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 no filelist.txte, 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 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 a palavra computador e quaisquer outras palavras que comecem com comp (como elogio e competição), digite:

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