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

Parameters

Parameter Description
/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 buchstäblich.
/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 Linien, die exakt übereinstimmen.
/v Druckt nur Linien, die keine Übereinstimmung enthalten.
/n Druckt die Zeilennummer der einzelnen Zeilen, die übereinstimmen.
/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 der Offline-Attributsatz festgelegt ist.
/f:<file> Ruft eine Dateiliste aus der angegebenen Datei ab.
/c:<string> Verwendet den angegebenen Text als Literalsuchzeichenfolge.
/g:<file> Ruft Suchzeichenfolgen aus der angegebenen Datei ab.
/d:<dirlist> Durchsucht die angegebene Liste der Verzeichnisse. Jedes Verzeichnis muss durch ein Semikolon (;) getrennt werden, z. B. dir1;dir2;dir3.
/a:<colorattribute> Gibt Farbattribute mit zwei hexadezimalen Ziffern an. Geben Sie color /? ein, um weitere Informationen anzuzeigen.
<strings> Gibt den Text an, nach dem im Dateinamen gesucht werden soll. Required.
[\<drive>:][<path>]<filename>[...] Gibt den Speicherort und die zu durchsuchenden Dateien an. Mindestens ein Dateiname ist erforderlich.
/? Zeigt die Hilfe an der Eingabeaufforderung an.

Remarks

  • Alle Befehlszeilenoptionen von findstr müssen Zeichenfolgen und Dateiname in der Befehlszeichenfolge vorangestellt werden.

  • Reguläre Ausdrücke verwenden sowohl Literalzeichen als auch Metazeichen, um Textmuster anstelle exakter Zeichenzeichenfolgen zu finden.

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

    • Ein Metazeichen ist ein Symbol mit besonderer Bedeutung (ein Operator oder Trennzeichen) in der Syntax des regulären Ausdrucks.

      Die akzeptierten Metazeichen sind:

      Meta-character Value
      . Platzhalter - Beliebiges Zeichen
      * Wiederholen - Null oder mehr Vorkommen des vorherigen Zeichens oder der vorherigen Klasse.
      ^ Position der Anfangslinie - Anfang der Zeile.
      $ Endzeilenposition - Ende der Zeile.
      [class] Zeichenklasse - Ein beliebiges Zeichen in einem Satz.
      [^class] Inverse Klasse - Jedes Zeichen, das nicht in einem Satz enthalten ist.
      [x-y] Bereich - Alle Zeichen innerhalb des angegebenen Bereichs.
      \x Escape - Wörtliche Verwendung eines Meta-Zeichens.
      \<string Anfangswortposition - Anfang des Worts.
      string\> Endwortposition - Ende des Worts.

      Die Sonderzeichen in der Syntax regulärer Ausdrücke haben die meiste Leistungsfähigkeit, wenn Sie sie zusammen verwenden. Verwenden Sie z. B. die Kombination des Wildcardzeichens (.) und wiederholen (*) Zeichen, um eine beliebige Zeichenfolge von Zeichen abzugleichen: .*

      Verwenden Sie den folgenden Ausdruck als Teil eines größeren Ausdrucks, um eine beliebige Zeichenfolge abzugleichen, die mit b beginnt und mit ing endet: 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.

Examples

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

findstr hello there x.y

Um dort in Datei x.y nach Hallo zu suchen, geben Sie Folgendes ein:

findstr /c:"hello there" x.y

Um alle Vorkommen des Wortes Windows (mit einem Anfangsbuchstaben W) in der Datei proposal.txtzu finden, geben Sie Folgendes ein:

findstr Windows proposal.txt

Geben Sie Folgendes ein, um jede Datei im aktuellen Verzeichnis und alle Unterverzeichnisse, die das Wort Windows enthalten, unabhängig von der Groß-/Kleinschreibung des Buchstabens zu durchsuchen:

findstr /s /i Windows *.*

Um alle Vorkommen von Zeilen zu finden, die mit FOR beginnen und denen null oder mehr Leerzeichen vorangestellt sind (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 genau die Dateien aufzulisten, die Sie in einer Textdatei durchsuchen möchten, verwenden Sie die Suchkriterien in der Datei stringlist.txt, um die in filelist.txtaufgelisteten 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 alle Dateien, die das Wort Computer enthalten, im aktuellen Verzeichnis und in allen Unterverzeichnissen aufzulisten, unabhängig von der Groß-/Kleinschreibung:

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

Um jede Datei mit dem Wort Computer und anderen Wörtern auflisten zu können, die mit comp beginnen (z. B. Kompliment und Wettbewerb), geben Sie Folgendes ein:

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