Sdílet prostřednictvím


find

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

Syntax

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

Parameters

Parameter Description
/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.
/i Určuje, že hledání nerozlišuje malá a velká písmena.
[/off[line]] Nepřekočuje soubory, které mají nastavený atribut offline.
<"string"> Required. 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.

Exit codes

Exit code Description
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.

Remarks

  • Pokud parametr /i nepoužijete, tento příkaz vyhledá přesně to, co zadáte jako řetězec. Tento příkaz například zpracovává znaky a a A odlišně. Pokud však použijete parametr /i, při hledání se nebudou rozlišovat malá a velká písmena a a se bude zacházet aA 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 název souboru vynecháte, tento příkaz se chová jako filtr, který přebírá vstup ze standardního vstupního zdroje (obvykle klávesnice, svislé čáry (|) nebo přesměrovaného souboru) a pak zobrazí všechny řádky, které obsahují řetězec.

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

  • Parametry a volby příkazového řádku pro příkaz find můžete zadávat v libovolném pořadí.

  • Ve vyhledávaném řetězci nelze použít zástupné znaky (* a ?). Chcete-li vyhledat řetězec se zástupnými znaky a vzory regulárních výrazů, můžete použít příkaz FINDSTR .

  • Pokud použijete parametry /c a /v ve stejném příkazovém řádku, zobrazí tento příkaz počet řádků, které neobsahují zadaný řetězec. Pokud zadáte /c a /n ve stejném příkazovém řádku, find 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 příkazy findstr, more nebo pro /f .

Examples

Chcete-li zobrazit všechny čáry z pencil.md , které obsahují ořezávátko na struny, 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. Chcete-li v aktuálním adresáři vyhledat soubory s příponou .bat a obsahující řetězec PROMPT ignorující velká a malá písmena, zadejte:

find /i "PROMPT" *.bat

Chcete-li najít názvy souborů v adresáři, který obsahuje řetězec CPU, použijte svislou čáru (|) k nasměrování výstupu příkazu dir na příkaz find následujícím způsobem:

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

Najít všechny běžící 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)