iSven

Unwichtiges nach Relevanz sortieren...

Dateien unter Windows suchen

Welcher Entwickler kennt das nicht: man sucht in einem Verzeichnis samt Unterverzeichnissen nach Dateien, die eine bestimmte Zeichenfolge enthalten. 

Die Windowssuche (zumindest unter XP und Vista) hilft hier selten weiter und noch viel schlimmer: Ich vertraue den Suchergebnissen oft nicht. Unixanwender werden jetzt innerlich lächeln, denn der Befehl "find" bzw. "locate" ist dort ein mächtiges Werkzeug, und die Anwender von cygwin können diese Werkzeuge auch unter Windows nutzen. Doch Windows hat auch ein recht unbekanntes Tool für die Kommandozeile:

findstr

Sucht nach Zeichenfolgen in Dateien.

FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P]
        [/F:Datei] [/C:Zeichenfolge] [/G:Datei] [/D:Verzeichnisliste]
        [/A:Farbattribute] [/OFF[LINE]] Zeichenfolgen
        [[Laufwerk:][Pfad]Dateiname[ ...]]

  /B    Sucht am Zeilenanfang.
  /E    Sucht am Zeilenende.
  /L    Sucht nach dem Text buchstabengetreu.
  /R    Sucht nach der Zeichenfolge als regulärem Ausdruck.
  /S    Sucht nach entsprechenden Dateien im aktuellen Verzeichnis
        und allen Unterverzeichnissen.
  /I    Ignoriert Groß-/Kleinschreibung.
  /X    Gibt Zeilen aus, die vollkommen übereinstimmen.
  /V    Gibt Zeilen aus, die die Zeichenfolge nicht enthalten.
  /N    Gibt die Zeilennummer vor jeder Trefferzeile an.
  /M    Gibt nur die Namen der Dateien aus, die die Zeichenfolge enthalten.
  /O    Gibt den Offset des Zeichens vor jeder gefundenen Zeile aus.
  /P    Überspringt Dateien mit Zeichen, die nicht gedruckt werden können.
  /OFF[LINE] Überspringt keine Offlinedateien.
  /A:Attrib         Gibt die Farbattribute als zwei hexadezimale Ziffern an.
                    Siehe "COLOR /?"
  /F:Datei          Liest eine Dateiliste aus der angegebenen Datei ein.
  /C:Zeichenfolge   Sucht nach Zeichenfolge buchstabengetreu.
  /G:Datei          Liest Suchzeichenfolge aus der angegebenen Datei ein.
  /D:Verzeichnis    Durchsucht eine mit Semikolons getrennte Verzeichnisliste.
  Zeichenfolge      Text, nach dem gesucht werden soll.
  [Laufwerk:][Pfad] Dateiname
                    Angabe der zu durchsuchenden Datei(en).

Leerzeichen weisen auf mehrere getrennte Zeichenfolgen hin, außer es wurde /C
als Option angegeben. Zum Beispiel sucht 'FINDSTR "Windows NT" BR.TXT' nach
"Windows" oder "NT" in der Datei BR.TXT.  'FINDSTR /C:"Windows NT" BR.TXT'
hingegen sucht nach "Windows NT" in der Datei BR.TXT.

Schnellübersicht regulärer Ausdrücke:
  .         Platzhalter: beliebiges Zeichen
  *         Wiederholung: keine oder mehrere Wiederholungen
            des/der vorhergehenden Zeichens/Klasse
  ^         Zeilenposition: Anfang der Zeile
  $         Zeilenposition: Ende der Zeile
  [Klasse]  Zeichenklasse: beliebiges Zeichen aus einem Zeichensatz
  [^Klasse] Umgekehrte Klasse: beliebiges Zeichen nicht im Zeichensatz
  [x-y]     Bereich: beliebige Zeichen im angegebenen Bereich
  \x        Escape: direkte Verwendung eines Metazeichens x
  \<xyz     Wortposition: am Anfang des Wortes
  xyz\>     Wortposition: am Ende des Wortes

 

Beispiel: findstr /i /s /p ".body" *.*

Sucht ausgehend vom aktuelllen Verzeichnis in allen Unterverzeichnissen nach Dateien, welche die Zeichenfolge ".body" enthalten. Dabei wird Gross/Kleinschreibung nicht beachtet und zusätzlich werden Binärdateien nicht durchsucht.

Comments are closed