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 Gleicht das Textmuster ab, wenn es sich am Anfang einer Zeile befindet.
/e Gleicht das Textmuster ab, wenn es sich am Ende einer Zeile befindet.
/l Verarbeitet Suchzeichenfolgen buchstabengetreu.
/r Verarbeitet Suchzeichenfolgen als reguläre Ausdrücke. Dies ist die Standardeinstellung.
/s Durchsucht das aktuelle Verzeichnis und alle Unterverzeichnisse.
/i Ignoriert die Groß-/Kleinschreibung der Zeichen bei der Suche nach der Zeichenfolge.
/x Druckt Zeilen, die genau übereinstimmen.
/v Druckt nur Zeilen, die keine Übereinstimmung enthalten.
/n Druckt die Zeilennummer jeder Zeile, die übereinstimmt.
/m Druckt nur den Dateinamen, 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 Attribut „offline“ festgelegt ist.
/f:<file> Ruft eine Dateiliste aus der angegebenen Datei ab.
/c:<string> Verwendet den angegebenen Text als buchstabengetreue Suchzeichenfolge.
/g:<file> Ruft Suchzeichenfolgen aus der angegebenen Datei ab.
/d:<dirlist> Durchsucht die angegebene Liste von Verzeichnissen. Die einzelnen Verzeichnisse müssen durch ein Semikolon (;) getrennt werden, z. B dir1;dir2;dir3.
/a:<colorattribute> Gibt Farbattribute mit zwei Hexadezimalstellen an. Geben Sie color /? ein, um weitere Informationen anzuzeigen.
<strings> Gibt den Text an, nach dem in filename gesucht werden soll. Erforderlich.
[\<drive>:][<path>]<filename>[...] Gibt den Speicherort und die zu durchsuchenden Dateien an. Es ist mindestens ein Dateiname erforderlich.
/? Zeigt die Hilfe an der Eingabeaufforderung an.

Bemerkungen

  • Alle findstr-Befehlszeilenoptionen müssen Zeichenfolgen und Dateinamen in der Befehlszeichenfolge vorangestellt werden.

  • In regulären Ausdrücken werden sowohl Literalzeichen als auch Metazeichen für die Suche nach Textmustern statt nach exakten Zeichenfolgen verwendet.

    • Ein Literalzeichen ist ein Zeichen, das in der Syntax des regulären Ausdrucks keine besondere Bedeutung hat. Stattdessen entspricht es einem Vorkommen dieses Zeichens. Beispielsweise sind Buchstaben und Zahlen Literalzeichen.

    • Ein Metazeichen ist ein Symbol mit besonderer Bedeutung (ein Operator oder Trennzeichen) in der Syntax regulärer Ausdrücke.

      Die akzeptierten Metazeichen sind:

      Metazeichen Wert
      . Platzhalter: Beliebiges Zeichen
      * Wiederholen: Null oder mehr Vorkommen des vorherigen Zeichens oder der vorherigen Klasse.
      ^ Zeilenposition Anfang: Zeilenanfang.
      $ Zeilenposition Ende: Zeilenende.
      [class] Zeichenklasse: Ein beliebiges Zeichen in einem Zeichensatz.
      [^class] Umgekehrte Klasse: Ein beliebiges Zeichen nicht in einem Zeichensatz.
      [x-y] Bereich: Beliebige Zeichen innerhalb des angegebenen Bereichs.
      \x Escape: Direkte Verwendung eines Metazeichens.
      \<string Wortposition Anfang: Am Anfang des Worts.
      string\> Wortposition Ende: Am Ende des Worts.

      Die Sonderzeichen in der Syntax für reguläre Ausdrücke haben die größte Leistungsfähigkeit, wenn Sie sie zusammen verwenden. Verwenden Sie beispielsweise die Kombination des Platzhalterzeichens (.) und des Wiederholungszeichens (*), um eine beliebige Zeichenfolge von Zeichen 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

  • Für die Suche nach mehreren Zeichenfolgen in einer Reihe von Dateien 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 /c als Präfix vorangestellt.

Beispiele

Geben Sie Folgendes ein, um in der Datei x.y nach hello oder there zu suchen:

findstr hello there x.y

Geben Sie Folgendes ein, um in der Datei x.y nach hello there zu suchen:

findstr /c:"hello there" x.y

Für die Suche nach allen Vorkommen des Worts Windows (mit großem Anfangsbuchstaben W) in der Datei proposal.txt geben Sie Folgendes ein:

findstr Windows proposal.txt

Wenn Sie jede Datei im aktuellen Verzeichnis und in allen Unterverzeichnissen durchsuchen möchten, die das Wort Windows enthielten (unabhängig von der Groß-/Kleinschreibung), geben Sie Folgendes ein:

findstr /s /i Windows *.*

Wenn Sie nach allen Vorkommen von Zeilen, die mit FOR beginnen und denen null oder mehr Leerzeichen vorangestellt sind (wie in einer Computerprogrammschleife), suchen und die Zeilennummer anzeigen möchten, in der die jeweiligen Vorkommen gefunden wurden, geben Sie Folgendes ein:

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

Zum Auflisten der genauen Dateien, die Sie in einer Textdatei durchsuchen möchten, verwenden Sie die Suchkriterien in der Datei stringlist.txt, um die in filelist.txt aufgeführten Dateien zu durchsuchen und die Ergebnisse dann in der Datei results.out zu speichern. Geben Sie dazu Folgendes ein:

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

Zum Auflisten jeder Datei, die das Wort Computer (unabhängig von der Groß-/Kleinschreibung) im aktuellen Verzeichnis und in allen Unterverzeichnissen enthält, geben Sie Folgendes ein:

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. Compliment und Compete):

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