findstr
Cerca modelli di testo nei file.
Sintassi
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>[ ...]
Parametri
Parametro | Descrizione |
---|---|
/ b | Se è all'inizio di una riga, corrisponde al modello di testo. |
/e | Se alla fine di una riga, corrisponde al modello di testo. |
/l | Le stringhe di ricerca letteralmente processi. |
/r | Processi di ricercano di stringhe come espressioni regolari. Si tratta dell'impostazione predefinita. |
/s | Cerca la directory corrente e tutte le sottodirectory. |
/i | Ignora le lettere maiuscole e minuscole durante la ricerca della stringa. |
/x | Stampa le righe che corrispondono esattamente. |
/v | Stampa solo le righe che non contengono una corrispondenza. |
/n | Visualizza il numero di ogni riga corrispondente. |
/m | Se un file contiene una corrispondenza, viene stampato solo il nome del file. |
/o | Offset carattere viene stampato prima di ogni riga corrispondente. |
/p | Ignora i file con caratteri non stampabili. |
/ [offline] | Non ignorare i file che sono impostato l'attributo non in linea. |
/f:<file> |
Ottiene un elenco di file dal file specificato. |
/c:<string> |
Utilizza il testo specificato come stringa di ricerca letterale. |
/g:<file> |
Ottiene ricerca stringhe dal file specificato. |
/d:<dirlist> |
Cerca l'elenco di directory specificato. Ogni directory devono essere separati da un punto e virgola (;), ad esempio dir1;dir2;dir3 . |
/a:<colorattribute> |
Specifica gli attributi di colore con due cifre esadecimali. Tipo color /? Per ulteriori informazioni. |
<strings> |
Specifica il testo da cercare nella filename. Obbligatorio. |
[\<drive>:][<path>]<filename>[...] |
Specifica il percorso e un file o file da cercare. Nome di almeno un file è obbligatorio. |
/? | Visualizza la Guida al prompt dei comandi. |
Osservazioni:
Tutte le opzioni di riga di comando findstr devono precedere le stringhe e filename nella stringa di comando.
Le espressioni regolari utilizzano sia caratteri letterali che metacaratteri per trovare modelli di testo, anziché stringhe esatte di caratteri.
Un carattere letterale è un carattere che non ha un significato speciale nella sintassi dell'espressione regolare. Corrisponde invece a un'occorrenza di quel carattere. Ad esempio, lettere e numeri sono caratteri letterali.
Un metacarattere è un simbolo con un significato speciale (un operatore o un delimitatore) nella sintassi delle espressioni regolari.
I meta-caratteri accettati sono:
Meta-carattere Valore .
Jolly: qualsiasi carattere *
Repeat: zero o più occorrenze del carattere precedente o della classe. ^
Posizione riga iniziale: inizio della riga. $
Posizione riga finale: fine della riga. [class]
Classe di caratteri: qualsiasi carattere in un set. [^class]
Classe inversa: qualsiasi carattere non in un set. [x-y]
Intervallo: qualsiasi carattere compreso nell'intervallo specificato. \x
Escape: uso letterale di un meta-carattere. \<string
Posizione parola iniziale: inizio della parola. string\>
Posizione parola finale: fine della parola. I caratteri speciali nella sintassi delle espressioni regolari sono della massima potenza quando vengono utilizzati insieme. Ad esempio, utilizzare la combinazione del carattere jolly (
.
) e del carattere ripetuto (*
) per trovare una corrispondenza con qualsiasi stringa di caratteri:.*
Utilizzare l'espressione seguente come parte di un'espressione più ampia per trovare qualsiasi stringa che inizia con b e termina con ing:
b.*ing
:
Per cercare più stringhe in un set di file, è necessario creare un file di testo che contenga ogni criterio di ricerca su una riga separata.
Utilizzare gli spazi per separare più stringhe di ricerca, a meno che l'argomento è preceduto da /c.
Esempi
Per eseguire la ricerca di hello o there nel file x.y, digitare:
findstr hello there x.y
Per cercare hello there nel file x.y, digitare:
findstr /c:"hello there" x.y
Per trovare tutte le occorrenze della parola Windows (con lettera W maiuscola) nel file proposal.txt, digitare:
findstr Windows proposal.txt
Per cercare tutti i file nella directory corrente e tutte le sottodirectory contenenti la parola Windows, indipendentemente dal caso lettera, digitare:
findstr /s /i Windows *.*
Per trovare tutte le righe che iniziano con FOR e sono precedute da zero o più spazi (ad esempio un ciclo di programma del computer) e per visualizzare il numero di riga in cui si trova ogni occorrenza, digitare:
findstr /b /n /r /c:^ *FOR *.bas
Per elencare i file esatti in cui si desidera eseguire la ricerca in un file di testo, utilizzare i criteri di ricerca nel file stringlist.txt, per cercare i file elencati in filelist.txt, quindi per archiviare i risultati nel file results.out, digitare:
findstr /g:stringlist.txt /f:filelist.txt > results.out
Per elencare tutti i file contenenti la parola computer all'interno della directory corrente e tutte le sottodirectory, indipendentemente dal caso, digitare:
findstr /s /i /m \<computer\> *.*
Per elencare tutti i file che contiene la parola computer e altre parole che iniziano con comp, (ad esempio complimenti e competizione), digitare:
findstr /s /i /m \<comp.* *.*