Freigeben über


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

Die 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 buchstäblich.
/r Verarbeitet Suchzeichenfolgen als reguläre Ausdrücke. Dies ist die Standardeinstellung.
/s Durchsucht das aktuelle Verzeichnis und alle Unterverzeichnisse.
/Ich 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[Zeile] Ü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.
/ein:<colorattribute> Gibt Farbattribute mit zwei hexadezimalen Ziffern an. Geben Sie color /? ein, um weitere Informationen anzuzeigen.
<strings> Gibt den Text an, nach dem in Dateinamengesucht 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 Dateinamens in der Befehlszeichenfolge vorausgehen.

  • 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:

      Metazeichen Wert
      . Wildcard- - Beliebiges Zeichen
      * Wiederholen sie - Null oder mehr Vorkommen des vorherigen Zeichens oder der vorherigen Klasse.
      ^ Position der Anfangslinie - Anfang der Zeile.
      $ Endzeilenposition - Ende der Zeile.
      [class] Character-Klasse - Ein beliebiges Zeichen in einem Satz.
      [^class] Inverse-Klasse – Ein beliebiges Zeichen, das nicht in einer Gruppe enthalten ist.
      [x-y] Bereich - Beliebige Zeichen innerhalb des angegebenen Bereichs.
      \x Escape- - Literalverwendung eines Metazeichens.
      \<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 ingendet: 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, das Argument wird /cvorangestellt.

Beispiele

Geben Sie Folgendes ein, um nach hello oder in datei x.yzu suchen:

findstr hello there x.y

Geben Sie Folgendes ein, um nach Hello in datei x.yzu suchen:

findstr /c:"hello there" x.y

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

findstr Windows proposal.txt

Um jede Datei im aktuellen Verzeichnis und alle Unterverzeichnisse zu durchsuchen, die das Wort Windowsenthalten, geben Sie unabhängig vom Großbuchstaben Folgendes ein:

findstr /s /i Windows *.*

Um alle Vorkommen von Zeilen zu finden, die mit FOR beginnen und vor null oder mehr Leerzeichen stehen (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

Wenn Sie die genauen Dateien auflisten möchten, 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 speichern Sie dann die Ergebnisse in der Datei Ergebnisse.out, geben Sie Folgendes ein:

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

So listen Sie jede Datei auf, die das Wort Computer enthält, innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse, unabhängig vom Fall, Folgendes ein:

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.* *.*