Sdílet prostřednictvím


najít

Vyhledá řetězec textu v souboru nebo souborech a zobrazí řádky textu, které obsahují zadaný řetězec.

Syntaxe

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

Parametry

Parametr Popis
/v Zobrazí všechny řádky, které neobsahují zadanou <string>.
/c Spočítá řádky, které obsahují zadanou <string>, a zobrazí celkový součet.
/n Předchází každému řádku číslo řádku souboru.
/já Určuje, že hledání nerozlišuje malá a velká písmena.
[/off[řádek]] Nepřekočuje soubory, které mají nastavený atribut offline.
<"string"> Povinné. Určuje skupinu znaků (uzavřenou v uvozovkách), kterou chcete vyhledat.
[<drive>:][<path>]<filename> Určuje umístění a název souboru, ve kterém chcete vyhledat zadaný řetězec.
/? Zobrazí nápovědu na příkazovém řádku.

Ukončovací kódy

Ukončovací kód Popis
0 Byl nalezen hledaný řetězec.
1 Hledaný řetězec nebyl nalezen.
2 Hledaný soubor nebyl nalezen nebo byl udělen neplatný přepínač příkazového řádku.

Poznámky

  • Pokud nepoužíváte /i, tento příkaz hledá přesně to, co zadáte pro řetězcové. Tento příkaz například zpracovává znaky a a A odlišně. Pokud však použijete /i, hledání se změní na malá a velká písmena a bude zacházet s a a A jako se stejným znakem.

  • Pokud řetězec, který chcete vyhledat, obsahuje uvozovky, musíte použít uvozovky pro každou uvozovku obsaženou v řetězci (například ""Tento řetězec obsahuje uvozovky""").

  • Pokud vynecháte název souboru, tento příkaz funguje jako filtr, který přebírá vstup ze standardního vstupního zdroje (obvykle z klávesnice, kanálu (|) nebo přesměrovaného souboru) a potom zobrazí všechny řádky, které obsahují řetězec.

  • Chcete-li ukončit vyhledávání konzoly, použijte CTRL-X nebo CTRL-z.

  • Můžete zadat parametry a možnosti příkazového řádku pro najít příkaz v libovolném pořadí.

  • Ve hledaném řetězci nemůžete použít zástupné znaky (* a ?). Pokud chcete vyhledat řetězec se vzory se zástupnými znaky a vzory regulárních výrazů, můžete použít příkaz FINDSTR.

  • Pokud použijete /c a /v na stejném příkazovém řádku, zobrazí tento příkaz počet řádků, které neobsahují zadaný řetězec. Pokud zadáte /c a /n na stejném příkazovém řádku, najít ignoruje /n.

  • Tento příkaz nerozpozná návrat na začátek řádku. Pokud tento příkaz použijete k vyhledání textu v souboru, který obsahuje návrat na začátek řádku, je nutné omezit hledaný řetězec na text, který lze najít mezi návraty na začátek řádku (to znamená řetězec, který pravděpodobně nebude přerušen návratem na začátek řádku). Tento příkaz například nehlásí shodu pro soubor daně z řetězce, pokud mezi slovy daň a souborem dojde k návratu na začátek řádku.

  • Příkaz přijímá zástupné cardy pro názvy souborů. Při hledání v souboru (nebo souborech) se vytiskne soubor zpracovaného souboru před deseti pomlčkami.

  • příkaz Najít nemůže číst alternativní datové proudy. Pro vyhledávání v alternativních datových proudech použijte findstr, další nebo pro příkazy /f.

Příklady

Chcete-li zobrazit všechny řádky z pencil.md, které obsahují řetězec zostřidlo tužky, zadejte:

find "pencil sharpener" pencil.md

Pokud chcete najít text, "Vědci označili svůj dokument pouze pro diskuzi. Nejedná se o konečnou zprávu." (včetně uvozovek) v souboru report.txt zadejte:

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

Pokud chcete vyhledat sadu souborů, můžete použít zástupné cardy. Pokud chcete v aktuálním adresáři vyhledat soubory, které mají příponu .bat a které obsahují řetězec PROMPT ignorování případu, zadejte:

find /i "PROMPT" *.bat

Pokud chcete najít názvy souborů v adresáři, který obsahuje řetězec procesoru, pomocí kanálu (|) nasměrujte výstup příkazu dir do příkazu najít následujícím způsobem:

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

Vyhledejte všechny spuštěné procesy, které neobsahují agenta:

tasklist | find /v /i "agent"

Zkontrolujte, jestli je spuštěná služba:

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