Suchen

Sucht nach einer Textzeichenfolge in einer Datei oder mehreren Dateien und zeigt Textzeilen an, die die angegebene Zeichenfolge enthalten.

Syntax

find [/v] [/c] [/n] [/i] [/off[line]] <"string"> [[<drive>:][<path>]<filename>[...]]

Parameter

Parameter BESCHREIBUNG
/v Zeigt alle Zeilen an, die nicht das angegebene <string>enthalten.
/c Zählt die Zeilen, die das angegebene <string> enthalten, und zeigt das Gesamtergebnis an.
/n Stellt jeder Zeile die Zeilennummer der Datei voran.
/i Gibt an, dass bei der Suche die Groß-/Kleinschreibung nicht beachtet wird.
[/off[line]] Überspringt keine Dateien, für die das Attribut „offline“ festgelegt ist.
<"string"> Erforderlich. Gibt die Gruppe von Zeichen (in Anführungszeichen eingeschlossen) an, nach der Sie suchen möchten.
[<drive>:][<path>]<filename> Gibt den Speicherort und den Namen der Datei an, in der nach der angegebenen Zeichenfolge gesucht werden soll.
/? Zeigt die Hilfe an der Eingabeaufforderung an.

Exitcodes

Exitcode BESCHREIBUNG
0 Die gesuchte Zeichenfolge wurde gefunden
1 Die gesuchte Zeichenfolge wurde nicht gefunden
2 Die gesuchte Datei wurde nicht gefunden oder es wurde ein ungültiger Befehlszeilen-Switch angegeben

Hinweise

  • Wenn Sie /i nicht verwenden, sucht dieser Befehl genau nach dem, was Sie für string angeben. Beispielsweise behandelt dieser Befehl die Zeichen a und A unterschiedlich. Wenn Sie jedoch /i verwenden, wird bei der Suche die Groß-/Kleinschreibung nicht beachtet, und sie behandelt a und A als dasselbe Zeichen.

  • Wenn die Zeichenfolge, nach der Sie suchen möchten, Anführungszeichen enthält, müssen Sie für jedes in der Zeichenfolge enthaltene Anführungszeichen doppelte Anführungszeichen verwenden (z. B. ""Diese Zeichenfolge enthält Anführungszeichen"").

  • Wenn Sie einen Dateinamen auslassen, fungiert dieser Befehl als Filter, indem er Eingaben von der Standardeingabequelle (in der Regel die Tastatur, eine Pipe (|) oder eine umgeleitete Datei) übernimmt und dann alle Zeilen anzeigt, die string enthalten.

  • Verwenden Sie CTRL-X oder CTRL-z, um die Konsolensuche zu beenden.

  • Sie können Parameter und Befehlszeilenoptionen für den Befehl find in beliebiger Reihenfolge eingeben.

  • Sie können in der gesuchten Zeichenfolge keine Platzhalter (* und ?) verwenden. Um nach einer Zeichenfolge mit Platzhalter- und Regex-Mustern zu suchen, können Sie den Befehl FINDSTR verwenden.

  • Wenn Sie /c und /v in derselben Befehlszeile verwenden, zeigt dieser Befehl die Anzahl der Zeilen an, die nicht die angegebene Zeichenfolge enthalten. Wenn Sie /c und /n in derselben Befehlszeile angeben, ignoriert find/n.

  • Dieser Befehl erkennt keine Wagenrückläufe. Wenn Sie diesen Befehl verwenden, um nach Text in einer Datei zu suchen, die Wagenrückläufe enthält, müssen Sie die Suchzeichenfolge auf Text beschränken, der zwischen Wagenrückläufen gefunden werden kann (d. h., eine Zeichenfolge, die wahrscheinlich nicht durch einen Wagenrücklauf unterbrochen ist). Dieser Befehl meldet beispielsweise keine Übereinstimmung für die Zeichenfolge „tax file“, wenn zwischen den Wörtern „tax“ und „file“ ein Wagenrücklauf steht.

  • Der Befehl akzeptiert Platzhalter für Dateinamen. Beim Suchen in einer Datei (oder mehreren Dateien) wird die Datei der verarbeiteten Datei mit zehn vorangestellten Bindestrichen gedruckt.

  • Der Befehl find kann keine alternativen Datenströme lesen. Verwenden Sie die Befehle findstr, more oder for /f, um in alternativen Datenströmen zu suchen.

Beispiele

Geben Sie Folgendes ein, um alle Zeilen aus pencil.md anzuzeigen, die die Zeichenfolge pencil sharpener enthalten:

find "pencil sharpener" pencil.md

Geben Sie Folgendes ein, um den Text „The scientists labeled their paper for discussion only. It is not a final report." (einschließlich der Anführungszeichen) in der Datei report.txt zu suchen:

find """The scientists labeled their paper for discussion only. It is not a final report.""" < report.txt

Um nach einer Gruppe von Dateien zu suchen, können Sie Platzhalter verwenden. Geben Sie Folgendes ein, um das aktuelle Verzeichnis nach Dateien zu durchsuchen, die die Erweiterung .bat haben und die Zeichenfolge PROMPT enthalten, wobei die Groß-/Kleinschreibung nicht beachtet werden soll:

find /i "PROMPT" *.bat

Um Dateinamen in einem Verzeichnis zu suchen, die die Zeichenfolge CPU enthalten, verwenden Sie die Pipe (|), um die Ausgabe des Befehls dir wie folgt an den Befehl „find“ weiterzuleiten:

dir c:\temp /s /b | find "CPU"

Suchen Sie nach allen ausgeführten Prozessen, die KEINEN Agenten enthalten:

tasklist | find /v /i "agent"

Überprüfen Sie, ob ein Dienst ausgeführt wird:

sc query  Winmgmt | find "RUNNING" >nul 2>&1 && (echo service is started) || (echo service is stopped)