Condividi tramite


trovare

Cerca una stringa di testo in un file o file e visualizza righe di testo che contengono la stringa specificata.

Sintassi

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

Parametri

Parametro Descrizione
/v Visualizza tutte le righe che non contengono il <string>specificato.
/c Conta le righe che contengono il <string> specificato e visualizza il totale.
/n Precede ogni riga con il numero di riga del file.
/io Specifica che la ricerca non fa distinzione tra maiuscole e minuscole.
[/off[line]] Non ignora i file con l'attributo offline impostato.
<"string"> Obbligatorio. Specifica il gruppo di caratteri (racchiuso tra virgolette) da cercare.
[<drive>:][<path>]<filename> Specifica il percorso e il nome del file in cui cercare la stringa specificata.
/? Visualizza la Guida al prompt dei comandi.

Codici di uscita

Codice di uscita Descrizione
0 La stringa cercata è stata trovata
1 Stringa cercata non trovata
2 Impossibile trovare il file cercato o l'opzione della riga di comando non valida

Osservazioni:

  • Se non si usa /i, questo comando cerca esattamente ciò che si specifica per stringa. Ad esempio, questo comando tratta i caratteri a e A in modo diverso. Se si usa /i, tuttavia, la ricerca diventa senza distinzione tra maiuscole e minuscole e considera a e A come lo stesso carattere.

  • Se la stringa che si desidera cercare contiene virgolette, è necessario usare virgolette doppie per ogni virgoletta contenuta nella stringa , ad esempio """"Questa stringa contiene virgolette""".

  • Se si omette un nome di file, questo comando funge da filtro, accettando l'input dall'origine di input standard (in genere la tastiera, una pipe (|) o un file reindirizzato e quindi visualizza tutte le righe che contengono stringa.

  • Per uscire dalla ricerca della console, usare CTRL-X o CTRL-z.

  • È possibile digitare parametri e opzioni della riga di comando per il trovare comando in qualsiasi ordine.

  • Non è possibile usare caratteri jolly (* e ?) nella stringa cercata. Per cercare una stringa con caratteri jolly e modelli regex, è possibile usare il comando FINDSTR.

  • Se si usa /c e /v nella stessa riga di comando, questo comando visualizza un conteggio delle righe che non contengono la stringa specificata. Se si specifica /c e /n nella stessa riga di comando, trovare ignora /n.

  • Questo comando non riconosce i ritorni a capo. Quando si usa questo comando per cercare testo in un file che include ritorni a capo, è necessario limitare la stringa di ricerca al testo che può essere trovato tra i ritorni a capo, ovvero una stringa che probabilmente non verrà interrotta da un ritorno a capo. Ad esempio, questo comando non segnala una corrispondenza per il file fiscale stringa se si verifica una restituzione a capo tra le parole tax e il file.

  • Il comando accetta caratteri jolly per i nomi di file. Durante la ricerca in file (o file) verrà stampato il file del file elaborato preceduto da dieci trattini.

  • comando Trova non è in grado di leggere flussi di dati alternativi. Per la ricerca in flussi di dati alternativi, usare findstr, più o per i comandi /f.

Esempi

Per visualizzare tutte le righe di pencil.md che contengono la stringa tagliente a matita, digitare:

find "pencil sharpener" pencil.md

Per trovare il testo, "Gli scienziati hanno etichettato il loro documento solo per la discussione. Non è un report finale." (incluse le virgolette) nel file report.txt, digitare:

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

Per cercare un set di file, è possibile usare caratteri jolly. Per cercare nella directory corrente i file con estensione .bat e che contengono la stringa PROMPT ignorando il caso, digitare:

find /i "PROMPT" *.bat

Per trovare i nomi dei file in una directory che contiene la stringa CPU, usare la pipe (|) per indirizzare l'output del comando dir al comando find come indicato di seguito:

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

Trovare tutti i processi in esecuzione che non contengono agente:

tasklist | find /v /i "agent"

Controllare se un servizio è in esecuzione:

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