搜尋檔案或檔案中的文字字串,並顯示包含指定字串的文字行。
語法
find [/v] [/c] [/n] [/i] [/off[line]] <"string"> [[<drive>:][<path>]<filename>[...]]
參數
參數 | 說明 |
---|---|
/v | 顯示不包含指定 <string> 的所有行。 |
/c | 計算包含指定 <string> 之的行數,並顯示總計。 |
/n | 在每個行前面加上檔案的行號。 |
/我 | 指定搜尋不區分大小寫。 |
[/off[line]] | 不會略過已設定離線屬性的檔案。 |
<"string"> |
必須的。 指定您想要搜尋的字元群組(以引弧括住)。 |
[<drive>:][<path>]<filename> |
指定要搜尋指定字串之檔案的位置和名稱。 |
? | 在命令提示字元顯示說明。 |
出口代碼
退出代碼 | 說明 |
---|---|
0 | 找到搜尋的字串 |
1 | 找不到搜尋的字串 |
2 | 找不到搜尋的檔案或指定的命令行參數無效 |
備註
如果您未使用 /i,此命令會搜尋您指定 字串的確切內容。 例如,此命令會以不同的方式處理字元
a
A
。 不過,如果您使用 /i,則搜尋會變得不區分大小寫,而且會將 和a
視為A
相同的字元。如果您想要搜尋的字串包含引號,則必須針對字串中包含的每個引號使用雙引號(例如“”“此字串包含引號”“ )。
如果您省略檔名,此命令會做為篩選,從標準輸入來源取得輸入(通常是鍵盤、管道 (|) 或重新導向的檔案),然後顯示任何包含 字串的行。
若要結束主控台搜尋,請使用
CTRL-X
或CTRL-z
。您可以依任何順序輸入 尋找 命令的參數和命令行選項。
您無法在搜尋的字串中使用通配符 (* 和 ?)。 若要搜尋具有通配符和 regex 模式的字串,您可以使用 FINDSTR 命令。
如果您在相同的命令列中使用 /c 和 /v ,此命令會顯示不包含指定字串的行計數。 如果您在相同的命令行中指定 /c 和 /n , 則尋找 會忽略 /n。
此命令無法辨識歸位字元。 當您使用此命令來搜尋包含歸位字元的檔案中的文字時,您必須將搜尋字串限制為可在歸位字元之間找到的文字(也就是說,不一定被歸位字元中斷的字元串)。 例如,如果歸位字元介於 tax 和 file 之間發生歸位字元,此命令不會報告字串稅務檔案的相符專案。
此命令接受檔名的通配符。 在檔案中搜尋時,它會列印已處理檔案的檔案前面加上10個破折號。
Find 命令無法讀取替代數據流。 若要在替代數據流中搜尋,請使用findstr,或用於 /f 命令。
範例
若要顯示包含字串鉛筆銳化器之 pencil.md 的所有行,請輸入:
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)