Udostępnij za pośrednictwem


findstr powiedział:

Wyszukuje wzorce tekstu w plikach.

Składnia

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

Parametry

Parametr Opis
/b Dopasuje wzorzec tekstu, jeśli znajduje się na początku wiersza.
/e Dopasuje wzorzec tekstu, jeśli znajduje się na końcu wiersza.
/l Przetwarza ciągi wyszukiwania dosłownie.
/r Przetwarza ciągi wyszukiwania jako wyrażenia regularne. Jest to ustawienie domyślne.
/ s Wyszukuje bieżący katalog i wszystkie podkatalogi.
/ja Ignoruje wielkość liter znaków podczas wyszukiwania ciągu.
/x Drukuje wiersze, które dokładnie pasują.
/v Drukuje tylko wiersze, które nie zawierają dopasowania.
/n Drukuje numer wiersza każdego wiersza, który jest zgodny.
/m Drukuje tylko nazwę pliku, jeśli plik zawiera dopasowanie.
/o Drukuje przesunięcie znaku przed każdym pasującym wierszem.
/p Pomija pliki z znakami niedrukowalnymi.
/off[linia] Nie pomija plików z ustawionym atrybutem trybu offline.
/f:<file> Pobiera listę plików z określonego pliku.
/c:<string> Używa określonego tekstu jako ciągu wyszukiwania literału.
/g:<file> Pobiera ciągi wyszukiwania z określonego pliku.
/d:<dirlist> Wyszukuje określoną listę katalogów. Każdy katalog musi być oddzielony średnikiem (;), na przykład dir1;dir2;dir3.
/a:<colorattribute> Określa atrybuty koloru z dwoma cyframi szesnastkowymi. Wpisz color /?, aby uzyskać dodatkowe informacje.
<strings> Określa tekst do wyszukania w pliku . To jest wymagane.
[\<drive>:][<path>]<filename>[...] Określa lokalizację i plik lub pliki do wyszukania. Wymagana jest co najmniej jedna nazwa pliku.
/? Wyświetla Pomoc w wierszu polecenia.

Uwagi

  • Wszystkie opcje findstr wiersza polecenia muszą poprzedzać ciągi i nazwa pliku w ciągu polecenia.

  • Wyrażenia regularne używają znaków literału i meta-znaków do znajdowania wzorców tekstu, a nie dokładnych ciągów znaków.

    • Znak literału to znak, który nie ma specjalnego znaczenia w składni wyrażenia regularnego; zamiast tego pasuje do wystąpienia tego znaku. Na przykład litery i cyfry to znaki literału.

    • Metaznak to symbol ze specjalnym znaczeniem (operatorem lub ogranicznikiem) w składni wyrażenia regularnego.

      Zaakceptowane metaznaki to:

      Metaznak Wartość
      . wieloznaczne — dowolny znak
      * Powtórz — zero lub więcej wystąpień poprzedniego znaku lub klasy.
      ^ pozycja początku wiersza — początek wiersza.
      $ położenie linii końcowej — koniec wiersza.
      [class] klasa znaków — dowolny znak w zestawie.
      [^class] klasy inverse — dowolny znak, który nie istnieje w zestawie.
      [x-y] zakres — wszystkie znaki w określonym zakresie.
      \x escape — użycie literału metaznaku.
      \<string pozycja początku wyrazu — początek wyrazu.
      string\> położenie wyrazu kończącego — koniec wyrazu.

      Znaki specjalne w składni wyrażeń regularnych mają największą moc, gdy używasz ich razem. Na przykład użyj kombinacji symbolu wieloznakowego (.) i powtórz znak (*), aby dopasować dowolny ciąg znaków: .*

      Użyj następującego wyrażenia w ramach większego wyrażenia, aby dopasować dowolny ciąg rozpoczynający się od b i kończąc na : b.*ing

  • Aby wyszukać wiele ciągów w zestawie plików, należy utworzyć plik tekstowy zawierający każde kryterium wyszukiwania w osobnym wierszu.

  • Użyj spacji, aby oddzielić wiele ciągów wyszukiwania, chyba że argument jest poprzedzony prefiksem /c.

Przykłady

Aby wyszukać hello lub w pliku x.y, wpisz:

findstr hello there x.y

Aby wyszukać hello, w pliku x.ywpisz:

findstr /c:"hello there" x.y

Aby znaleźć wszystkie wystąpienia wyrazu Windows (z początkową literą W) w pliku proposal.txt, wpisz:

findstr Windows proposal.txt

Aby wyszukać każdy plik w bieżącym katalogu i wszystkich podkatalogach, które zawierały wyraz Windows, niezależnie od wielkości liter, wpisz:

findstr /s /i Windows *.*

Aby znaleźć wszystkie wystąpienia wierszy rozpoczynających się od FOR i są poprzedzone zerem lub większą liczbą spacji (jak w pętli programu komputerowego) i wyświetlić numer wiersza, w którym znaleziono każde wystąpienie, wpisz:

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

Aby wyświetlić listę dokładnych plików, które chcesz wyszukać w pliku tekstowym, użyj kryteriów wyszukiwania w pliku stringlist.txt, aby wyszukać pliki wymienione w filelist.txt, a następnie zapisać wyniki w pliku results.out, wpisz:

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

Aby wyświetlić listę wszystkich plików zawierających wyraz komputera w bieżącym katalogu i wszystkich podkatalogach, niezależnie od wielkości liter, wpisz:

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

Aby wyświetlić listę każdego pliku zawierającego wyraz komputer i inne słowa rozpoczynające się od comp (na przykład komplement i konkurować), wpisz:

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