findstr

Sucht nach Textmustern in Dateien.

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

Parameter

Parameter Beschreibung
/b Entspricht dem Textmuster, wenn es sich am Anfang einer Zeile befindet.
/e Entspricht dem Textmuster, wenn es sich am Ende einer Zeile befindet.
/l Verarbeitet Suchzeichenfolgen wörtlich.
/r Verarbeitet Suchzeichenfolgen als reguläre Ausdrücke. Dies ist die Standardeinstellung.
/s Durchsucht das aktuelle Verzeichnis und alle Unterverzeichnisse.
/i Ignoriert die Schreibung der Zeichen bei der Suche nach der Zeichenfolge.
/x Druckt Zeilen, die genau übereinstimmen.
/v Druckt nur Zeilen, die keine Übereinstimmung enthalten.
/n Gibt die Zeilennummer jeder Zeile aus, die übereinstimmt.
/m Gibt nur den Dateinamen aus, wenn eine Datei eine Übereinstimmung enthält.
/o Druckt den Zeichenoffset vor jeder übereinstimmenden Zeile.
/p Überspringt Dateien mit nicht druckbaren Zeichen.
/off[line] Überspringt keine Dateien, für die das Offlineattribut festgelegt ist.
/f:<file> Ruft eine Dateiliste aus der angegebenen Datei ab.
/c:<string> Verwendet den angegebenen Text als literale Suchzeichenfolge.
/g:<file> Ruft Suchzeichenfolgen aus der angegebenen Datei ab.
/d:<dirlist> Durchsucht die angegebene Liste von Verzeichnissen. Jedes Verzeichnis muss durch ein Semikolon (;) getrennt werden, z. B dir1;dir2;dir3. .
/a:<colorattribute> Gibt Farbattribute mit zwei Hexadezimalziffern an. Geben Sie color /? für zusätzliche Informationen ein.
<strings> Gibt den Text an, nach dem im Dateinamen gesucht werden soll. Erforderlich.
[\<drive>:][<path>]<filename>[...] Gibt den Speicherort und die zu durchsuchenden Dateien an. Mindestens ein Dateiname ist erforderlich.
/? Zeigt die Hilfe an der Eingabeaufforderung an.

Bemerkungen

  • Alle Findstr-Befehlszeilenoptionen müssen Zeichenfolgen und Dateinamen in der Befehlszeichenfolge voranstehen.

  • Reguläre Ausdrücke verwenden sowohl Literalzeichen als auch Metazeichen, um Textmuster und keine genauen Zeichenfolgen zu finden.

    • Ein Literalzeichen ist ein Zeichen, das in der Syntax für reguläre Ausdrücke keine besondere Bedeutung hat. stattdessen entspricht er einem Vorkommen dieses Zeichens. Buchstaben und Zahlen sind z. B. Literalzeichen.

    • Ein Metazeichen ist ein Symbol mit einer besonderen Bedeutung (Operator oder Trennzeichen) in der Syntax für reguläre Ausdrücke.

      Die akzeptierten Metazeichen sind:

      Metazeichen Wert
      . Platzhalter: Beliebiges Zeichen
      * Wiederholen: Null oder mehr Vorkommen des vorherigen Zeichens oder der vorherigen Klasse.
      ^ Anfangsposition der Zeile : Anfang der Zeile.
      $ Endposition der Zeile : Ende der Zeile.
      [class] Zeichenklasse : Ein beliebiges Zeichen in einem Satz.
      [^class] Inverse Klasse : Ein beliebiges Zeichen, das nicht in einem Satz vorhanden ist.
      [x-y] Bereich : Alle Zeichen innerhalb des angegebenen Bereichs.
      \x Escape : Literale Verwendung eines Metazeichens.
      \<string Anfangswortposition : Anfang des Worts.
      string\> Endwortposition : Ende des Worts.

      Die Sonderzeichen in der Syntax für reguläre Ausdrücke haben die größte Leistung, wenn Sie sie zusammen verwenden. Verwenden Sie beispielsweise die Kombination aus dem Platzhalterzeichen (.) und dem Wiederholungszeichen (*), um eine beliebige Zeichenfolge abzugleichen: .*

      Verwenden Sie den folgenden Ausdruck als Teil eines größeren Ausdrucks, um alle Zeichenfolgen abzugleichen, die mit b beginnen und mit ing enden: b.*ing

  • Um in einer Gruppe von Dateien nach mehreren Zeichenfolgen zu suchen, müssen Sie eine Textdatei erstellen, die jedes Suchkriterium in einer separaten Zeile enthält.

  • Verwenden Sie Leerzeichen, um mehrere Suchzeichenfolgen zu trennen, es sei denn, dem Argument wird das Präfix /c vorangestellt.

Beispiele

Geben Sie Zum Suchen nach hello oder there in der Datei x.y Ein:

findstr hello there x.y

Um in der Datei x.y nach hello there zu suchen, geben Sie Ein:

findstr /c:"hello there" x.y

Geben Sie Folgendes ein, um alle Vorkommen des Worts Windows (mit einem Anfangsbuchstaben W) in der Datei proposal.txtzu finden:

findstr Windows proposal.txt

Geben Sie Folgendes ein, um jede Datei im aktuellen Verzeichnis und alle Unterverzeichnisse zu durchsuchen, die das Wort Windows enthalten, unabhängig vom Buchstaben case:

findstr /s /i Windows *.*

Um alle Vorkommen von Zeilen zu finden, die mit FOR beginnen und null oder mehr Leerzeichen voranstehen (wie in einer Computerprogrammschleife), und um die Zeilennummer anzuzeigen, in der jedes Vorkommen gefunden wird, geben Sie Folgendes ein:

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

Um die genauen Dateien aufzulisten, die Sie in einer Textdatei durchsuchen möchten, verwenden Sie die Suchkriterien in der Datei stringlist.txt, um die in filelist.txtaufgeführten Dateien zu durchsuchen, und geben Sie dann Folgendes ein, um die Ergebnisse in der Datei results.out zu speichern:

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

Geben Sie Folgendes ein, um jede Datei aufzulisten, die das Wort Computer im aktuellen Verzeichnis und alle Unterverzeichnisse enthält, unabhängig von der Schreibweise:

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

Geben Sie Folgendes ein, um jede Datei aufzulisten, die das Wort Computer und alle anderen Wörter enthält, die mit comp beginnen (z. B. Kompliment und Wettbewerb):

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

Weitere Verweise