localizar

Pesquisa uma cadeia de caracteres de texto em um arquivo ou arquivos e exibe linhas de texto que contêm a cadeia de caracteres especificada.

Sintaxe

find [/v] [/c] [/n] [/i] [/off[line]] <"string"> [[<drive>:][<path>]<filename>[...]]

Parâmetros

Parâmetro Descrição
/v Exibe todas as linhas que não contêm o <string> especificado.
/c Conta as linhas que contêm o <string> especificado e exibe o total.
/n Precede cada linha com o número de linha do arquivo.
/i Especifica que a pesquisa não diferencia maiúsculas de minúsculas.
[/off[line]] Não ignora arquivos que têm o atributo offline definido.
<"string"> Obrigatórios. Especifica o grupo de caracteres (entre aspas) que você deseja pesquisar.
[<drive>:][<path>]<filename> Especifica o local e o nome do arquivo pelos quais pesquisar a cadeia de caracteres especificada.
/? Exibe a ajuda no prompt de comando.

Códigos de saída

Código de saída Descrição
0 A cadeia de caracteres pesquisada foi encontrada
1 Cadeia de caracteres pesquisada não encontrada
2 O arquivo pesquisado não encontrado ou o comutador de linha de comando inválido foi dado

Comentários

  • Se você não usar /i, esse comando procurará exatamente o que você especificar para a cadeia de caracteres. Por exemplo, esse comando trata os caracteres a e A de maneira diferente. No entanto, se você usar /i, a pesquisa não diferencia maiúsculas de minúsculas e ela tratará a e A como o mesmo caractere.

  • Se a cadeia de caracteres que você deseja pesquisar contiver aspas, você deverá usar aspas duplas para cada aspa contida na cadeia de caracteres (por exemplo, ""Esta cadeia de caracteres contém aspas""").

  • Se você omitir um nome de arquivo, esse comando atuará como um filtro, recebendo a entrada da fonte de entrada padrão (geralmente o teclado, um pipe (|) ou um arquivo redirecionado) e, em seguida, exibirá todas as linhas que contenham uma cadeia de caracteres.

  • Para sair da pesquisa do console, use CTRL-X ou CTRL-z.

  • Você pode digitar parâmetros e opções de linha de comando para o comando find em qualquer ordem.

  • Você não pode usar curingas (* e ?) na cadeia de caracteres pesquisada. Para pesquisar uma cadeia de caracteres com curingas e padrões regex, você pode usar o comando FINDSTR.

  • Se você usar /c e /v na mesma linha de comando, esse comando exibirá uma contagem das linhas que não contêm a cadeia de caracteres especificada. Se você especificar /c e /n na mesma linha de comando, find ignorará /n.

  • Esse comando não reconhece retornos de carro. Ao usar esse comando para pesquisar texto em um arquivo que inclui retornos de carro, você deve limitar a cadeia de caracteres de pesquisa ao texto que pode ser encontrado entre retornos de carro (ou seja, uma cadeia de caracteres que provavelmente não será interrompida por um retorno de carro). Por exemplo, esse comando não relatará uma correspondência para o arquivo de imposto de cadeia de caracteres se ocorrer uma devolução de carro entre as palavras tax e file.

  • O comando aceita curingas para nomes de arquivo. Ao pesquisar no arquivo (ou arquivos), ele imprimirá o arquivo do arquivo processado precedido por dez traços.

  • O comando find não pode ler fluxos de dados alternativos. Para pesquisar em fluxos de dados alternativos, use os comandos findstr, more ou for /f.

Exemplos

Para exibir todas as linhas de pencil.md que contêm a cadeia de caracteres apontador de lápis, digite:

find "pencil sharpener" pencil.md

Para encontrar o texto, "Os cientistas rotularam seu artigo apenas para discussão. Não é um relatório final." (incluindo as aspas) no arquivo report.txt, digite:

find """The scientists labeled their paper for discussion only. It is not a final report.""" < report.txt

Para pesquisar um conjunto de arquivos, você pode usar curingas. Para pesquisar no diretório atual arquivos que têm a extensão .bat e que contêm a cadeia de caracteres PROMPT ignorando o caso, digite:

find /i "PROMPT" *.bat

Para localizar nomes de arquivos em um diretório que contém a cadeia de caracteres CPU, use o pipe (|) para direcionar a saída do comando dir para o comando find da seguinte maneira:

dir c:\temp /s /b | find "CPU"

Localize todos os processos em execução que NÃO contêm o agente:

tasklist | find /v /i "agent"

Verifique se um serviço está em execução:

sc query  Winmgmt | find "RUNNING" >nul 2>&1 && (echo service is started) || (echo service is stopped)