Condividi tramite


findstr

Cerca modelli di testo nei file.

Syntax

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>[ ...]

Parameters

Parameter Description
/b Trova la corrispondenza con il criterio di testo se si trova all'inizio di una riga.
/e Trova la corrispondenza con il modello di testo se si trova alla fine di una riga.
/l Elabora letteralmente le stringhe di ricerca.
/r Elabora le stringhe di ricerca come espressioni regolari. Questa è l'impostazione predefinita.
/s Cerca nella directory corrente e in tutte le sottodirectory.
/i Ignora la distinzione tra maiuscole e minuscole dei caratteri durante la ricerca della stringa.
/x Stampa le righe che corrispondono esattamente.
/v Stampa solo le righe che non contengono una corrispondenza.
/n Stampa il numero di riga di ogni riga corrispondente.
/m Stampa solo il nome del file se un file contiene una corrispondenza.
/o Stampa l'offset dei caratteri prima di ogni riga corrispondente.
/p Ignora i file con caratteri non stampabili.
/off[line] Non ignora i file con l'attributo offline impostato.
/f:<file> Ottiene un elenco di file dal file specificato.
/c:<string> Usa il testo specificato come stringa di ricerca letterale.
/g:<file> Ottiene le stringhe di ricerca dal file specificato.
/d:<dirlist> Cerca nell'elenco specificato di directory. Ogni directory deve essere separata da un punto e virgola (;), ad esempio dir1;dir2;dir3.
/a:<colorattribute> Specifica gli attributi di colore con due cifre esadecimali. Digitare color /? per ulteriori informazioni.
<strings> Specifica il testo da cercare nel nome del file. Required.
[\<drive>:][<path>]<filename>[...] Specifica il percorso e il file o i file da cercare. È necessario almeno un nome di file.
/? Visualizza la Guida al prompt dei comandi.

Remarks

  • Tutte le opzioni della riga di comando findstr devono precedere le stringhe e il nome file nella stringa di comando.

  • Le espressioni regolari usano sia caratteri letterali che meta-caratteri per trovare modelli di testo, anziché stringhe esatte di caratteri.

    • Un carattere letterale è un carattere che non ha un significato speciale nella sintassi delle espressioni regolari; corrisponde invece a un'occorrenza di tale carattere. Ad esempio, lettere e numeri sono caratteri letterali.

    • Un meta-carattere è un simbolo con un significato speciale (un operatore o un delimitatore) nella sintassi dell'espressione regolare.

      I meta-caratteri accettati sono:

      Meta-character Value
      . Wildcard - Qualsiasi carattere
      * Ripeti: zero o più occorrenze del personaggio o della classe precedente.
      ^ posizione della riga iniziale - Inizio della riga.
      $ Posizione riga finale - Fine della riga.
      [class] Classe di caratteri - Qualsiasi personaggio in un set.
      [^class] Classe inversa - Qualsiasi carattere non presente in un set.
      [x-y] Intervallo : tutti i caratteri all'interno dell'intervallo specificato.
      \x Escape - Uso letterale di un meta-personaggio.
      \<string Posizione iniziale parola - Inizio della parola.
      string\> Posizione parola finale - Fine della parola.

      I caratteri speciali nella sintassi delle espressioni regolari hanno la massima potenza quando vengono usati insieme. Ad esempio, usare la combinazione del carattere jolly (.) e ripetere (*) per trovare la corrispondenza con qualsiasi stringa di caratteri: .*

      Utilizzare l'espressione seguente come parte di un'espressione più ampia per trovare la corrispondenza di 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 contenente ogni criterio di ricerca in una riga separata.

  • Utilizzare gli spazi per separare più stringhe di ricerca, a meno che l'argomento non sia preceduto da /c.

Examples

Per cercare hello o there nel file x.y, digitare:

findstr hello there x.y

Per cercare hello nel file x.y, digitare:

findstr /c:"hello there" x.y

Per trovare tutte le occorrenze della parola Windows (con l'iniziale della lettera W maiuscola) nel fileproposal.txt, digitare:

findstr Windows proposal.txt

Per cercare tutti i file nella directory corrente e in tutte le sottodirectory che contenevano la parola Windows, indipendentemente dalle lettere maiuscole/minuscole, digitare:

findstr /s /i Windows *.*

Per trovare tutte le occorrenze delle righe che iniziano con FOR e sono precedute da zero o più spazi (come in un ciclo di un programma per 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 filestringlist.txt, per cercare i file elencati in filelist.txt, quindi per memorizzare 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 di tutte le sottodirectory, indipendentemente dalle maiuscole e minuscole, digitare:

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

Per elencare ogni file contenente la parola computer e tutte le altre parole che iniziano con comp, (ad esempio complimento e compete), digitare:

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