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 nel nome file. 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.

Commenti

  • Tutte le opzioni della riga di comando findstr devono precedere le stringhe e filename 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 significato speciale (operatore o delimitatore) nella sintassi delle espressioni regolari.

      I metadati accettati sono:

      Metacarattere Valore
      . Carattere jolly - Qualsiasi carattere
      * Repeat : zero o più occorrenze del carattere o della classe precedente.
      ^ Posizione iniziale della riga : inizio della riga.
      $ Posizione finale della riga: 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 della parola iniziale : inizio della parola.
      string\> Posizione della parola finale : fine della parola.

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

      Usare l'espressione seguente come parte di un'espressione più grande per trovare una corrispondenza con qualsiasi stringa che inizia con b e termina con 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 è preceduto da /c.

Esempio

Per cercare 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 una lettera iniziale maiuscola W) nel file proposal.txt, digitare:

findstr Windows proposal.txt

Per eseguire la ricerca in ogni file nella directory corrente e in tutte le sottodirectory che contenevano la parola Windows, indipendentemente dalla distinzione tra lettere maiuscole e minuscole, digitare:

findstr /s /i Windows *.*

Per trovare tutte le occorrenze di righe che iniziano con FOR e sono precedute da zero o più spazi (come in un ciclo di programma per computer) e per visualizzare il numero di riga in cui viene trovata ogni occorrenza, digitare:

findstr /b /n /r /c:^ *FOR *.bas

Per elencare i file esatti in cui si vuole eseguire la ricerca in un file di testo, usare i criteri di ricerca nel file stringlist.txt, per cercare i file elencati infilelist.txte quindi per archiviare i risultati nel file results.out, digitare:

findstr /g:stringlist.txt /f:filelist.txt > results.out

Per elencare ogni file contenente la parola computer all'interno della directory corrente e tutte le sottodirectory, indipendentemente dalla distinzione tra maiuscole e minuscole, digitare:

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

Per elencare ogni file contenente la parola computer ed eventuali altre parole che iniziano con comp, ad esempio compliment e compete, digitare:

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

Riferimenti aggiuntivi