Udostępnij za pomocą


find

Wyszukuje ciąg tekstowy w pliku lub plikach i wyświetla wiersze tekstu zawierające określony ciąg.

Syntax

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

Parameters

Parameter Description
/v Wyświetla wszystkie wiersze, które nie zawierają określonego <string>.
/c Zlicza wiersze zawierające określone <string> i wyświetla sumę.
/n Poprzedza każdy wiersz numerem wiersza pliku.
/i Określa, że wyszukiwanie nie uwzględnia wielkości liter.
[/off[line]] Nie pomija plików, które mają zestaw atrybutów trybu offline.
<"string"> Required. Określa grupę znaków (ujętą w cudzysłów), którą chcesz wyszukać.
[<drive>:][<path>]<filename> Określa lokalizację i nazwę pliku, w którym ma być wyszukiwany określony ciąg.
/? Wyświetla pomoc w wierszu polecenia.

Exit codes

Exit code Description
0 Wyszukiwany ciąg został znaleziony
1 Nie znaleziono wyszukiwanego ciągu
2 Nie znaleziono przeszukanego pliku lub podano nieprawidłowy przełącznik wiersza polecenia

Remarks

  • Jeśli nie używasz /i, to polecenie wyszukuje dokładnie to, co określisz dla ciągu. Na przykład to polecenie traktuje znaki a i A inaczej. Jeśli jednak użyjesz /i, w wyszukiwaniu nie będzie rozróżniana wielkość liter i będzie traktowane aA jako ten sam znak.

  • Jeśli ciąg, którego chcesz wyszukać, zawiera znaki cudzysłowu, należy użyć podwójnych cudzysłowów dla każdego cudzysłowu zawartego w ciągu (na przykład ""Ten ciąg zawiera znaki cudzysłowu""").

  • Jeśli pominiesz nazwę pliku, to polecenie działa jak filtr, pobierając dane wejściowe ze standardowego źródła wejściowego (zwykle klawiatury, potoku (|) lub przekierowanego pliku), a następnie wyświetla wszystkie wiersze zawierające ciąg.

  • Aby zakończyć wyszukiwanie konsoli, użyj CTRL-X lub CTRL-z.

  • Parametry i opcje wiersza polecenia można wpisywać w dowolnej kolejności.

  • Nie można używać symboli wieloznacznych (* i ?) w wyszukiwanym ciągu. Aby wyszukać ciąg z symbolami wieloznacznymi i wzorcami wyrażeń regularnych, możesz użyć polecenia FINDSTR .

  • Jeśli użyjesz /c i /v w tym samym wierszu polecenia, to polecenie wyświetli liczbę wierszy, które nie zawierają określonego ciągu. Jeśli określisz /c i /n w tym samym wierszu polecenia, find ignoruje /n.

  • To polecenie nie rozpoznaje zwraca karetki. Jeśli używasz tego polecenia, aby wyszukać tekst w pliku zawierającym zwrot karetki, należy ograniczyć ciąg wyszukiwania do tekstu, który można znaleźć między powrotem karetki (czyli ciąg, który prawdopodobnie nie zostanie przerwany przez powrót karetki). Na przykład to polecenie nie zgłasza dopasowania do pliku podatkowego ciągu, jeśli zwrot karetki występuje między wyrazami tax i file.

  • Polecenie akceptuje symbole wieloznaczne dla nazw plików. Podczas wyszukiwania w pliku (lub plikach) zostanie wyświetlony plik przetworzonego pliku poprzedzonego dziesięcioma kreskami.

  • Polecenie Find nie może odczytać alternatywnych strumieni danych. Do wyszukiwania w alternatywnych strumieniach danych należy użyć poleceń findstr, more lub /f .

Examples

Aby wyświetlić wszystkie wiersze z pencil.md , które zawierają temperówkę do ołówków, należy wpisać:

find "pencil sharpener" pencil.md

Aby znaleźć tekst, "Naukowcy oznaczyli swoją publikację tylko do dyskusji. Nie jest to raport końcowy." (w tym cudzysłowy) w pliku report.txt, wpisz:

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

Aby wyszukać zestaw plików, możesz użyć symboli wieloznacznych. Aby przeszukać bieżący katalog w poszukiwaniu plików o rozszerzeniu .bat i zawierających ciąg znaków PROMPT ignorujący wielkość liter, należy wpisać:

find /i "PROMPT" *.bat

Aby znaleźć nazwy plików w katalogu, które zawierają ciąg CPU, użyj potoku (|), aby skierować dane wyjściowe polecenia dir do polecenia find w następujący sposób:

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

Znajdź wszystkie uruchomione procesy, które NIE zawierają agenta:

tasklist | find /v /i "agent"

Sprawdź, czy usługa jest uruchomiona:

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