find

在檔案中搜尋文字字串,並顯示包含指定字串的文字行。

語法

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

參數

參數 描述
/v 顯示不包含指定 <string> 的所有行。
/c 計算包含指定 <string> 的行,並顯示總數。
/n 在每行前面加上檔案的行號。
/i 指定搜尋不區分大小寫。
[/off[line]] 不會略過已設定離線屬性的檔案。
<"string"> 必要。 指定要搜尋的字元組 (用引號括住)。
[<drive>:][<path>]<filename> 指定要搜尋指定字串之檔案的位置和名稱。
/? 在命令提示字元顯示說明。

結束代碼

結束代碼 描述
0 找到搜尋的字串
1 未找到搜尋的字串
2 未找到搜尋的檔案或指定的命令列參數無效

備註

  • 如果未使用 /i,此命令將精確搜尋指定 string。 例如,此命令會以不同的方式處理字元 aA。 不過,如果使用 /i,則搜尋將不區分大小寫,並將 aA 視為相同字元。

  • 如果要搜尋的字串包含引號,則必須為字串中包含的每個引號加上雙引號 (例如:“”“此字串包含引號”“”)。

  • 如果省略檔案名稱,此命令會做為篩選,從標準輸入來源 (通常是鍵盤、管道 (|) 或重新導向檔案) 取得輸入,然後顯示所有包含 string 的行。

  • 若要結束主控台搜尋,請使用 CTRL-XCTRL-z

  • 您可以依任何順序輸入 find 命令的參數和命令列選項。

  • 您不能在搜尋的字串中使用萬用字元 (*?)。 若要搜尋包含萬用字元和 RegEx 模式的字串,您可以使用 FINDSTR 命令。

  • 如果您在相同的命令列中使用 /c/v ,此命令會顯示不包含指定字串的行數。 如果您在相同的命令列中指定 /c/nfind 會忽略 /n

  • 此命令無法辨識歸位字元。 當您使用此命令在包含歸位字元的檔案中搜尋文字時,您必須將搜尋字串限制為可在歸位字元之間找到的文字 (也就是說,不可能被歸位字元中斷的字元串)。 例如,如果單字「tax」和「file」之間出現歸位字元,則此命令不會回報符合字串「tax file」的項目。

  • 此命令接受檔案名稱的萬用字元。 在檔案 (或多個檔案) 中搜尋時,它會列印已處理檔案,檔案前面加上 10 個破折號。

  • Find 命令無法讀取替代資料流。 若要在替代資料流中搜尋,請使用 findstrmorefor /f 命令。

範例

若要顯示 pencil.md 中包含字串 pencil Sharpener 的所有行,請輸入:

find "pencil sharpener" pencil.md

若要找到文字「科學家將他們的論文標記為僅供討論。這不是最終報告。」 (包括引號),在 report.txt 檔案中輸入:

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

若要搜尋一組檔案,您可以使用萬用字元。 若要在目前目錄中搜尋副檔名為 .bat 且包含字串 PROMPT 的檔案 (不區分大小寫),請輸入:

find /i "PROMPT" *.bat

若要在包含字串 CPU 的目錄中尋找檔案名稱,請使用管道 (|) 將 dir 命令的輸出導向至 find 命令,如下所示:

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

尋找所有不包含代理程式的執行中程序:

tasklist | find /v /i "agent"

檢查服務是否正在執行中:

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