FINDSTR

FINDSTR

徠findstr是Window系統自帶的命令,用途是查找指定的一個或多個文件文件中包含(或通過參數 /V來控制不包含)某些特定字元串的行,並將該行完整的信息列印出來,或者列印查詢字元串所在的文件名。

命令簡介


語法

FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/F:file][/C:string] [/G:file] [/D:dir list] [/A:color attributes] [/OFF[LINE]]strings [[drive:][path]filename[ ...]]

參數

/B 在一行的開始配對模式。
/E 在一行的結尾配對模式。
/L 按字使用搜索字元串。
/R 將搜索字元串作為一般表達式使用。
/S 在當前目錄和所有子目錄中搜索匹配文件。
/I 指定搜索不分大小寫。
/X 列印完全匹配的行。
/V 只列印不包含匹配的行。
/N 在匹配的每行前列印行數。
/M 如果文件含有匹配項,只列印其文件名。
/O 在每個匹配行前列印字元偏移量。
/P 忽略有不可列印字元的文件。
/OFF[LINE] 不跳過帶有離線屬性集的文件。
/A:attr 指定有十六進位數字的顏色屬性。請見 "color /?"
/F:file 從指定文件讀文件列表 (/ 代表控制台)。
/C:string 使用指定字元串作為文字搜索字元串。
/G:file 從指定的文件獲得搜索字元串。 (/ 代表控制台)。
/D:dir 查找以分號為分隔符的目錄列表 strings 要查找的文字。
[drive:][path]filename 指定要查找的文件。除非參數有 /C 前綴,請使用空格隔開搜索字元串。
例如: 'FINDSTR "hello there" x.y' 在文件 x.y 中尋找 "hello" 或"there" 。 'FINDSTR /C:"hello there" x.y' 文件 x.y 尋找"hello there"。
一般表達式的快速參考:
. 通配符: 任何字元
* 重複: 以前字元或類別出現零或零以上次數
^ 行位置: 行的開始
$ 行位置: 行的終點
[class] 字元類別: 任何在字符集中的字元
[^class] 補字元類別: 任何不在字符集中的字元
[x-y] 範圍: 在指定範圍內的任何字元
\x Escape: 元字元 x 的文字用法
\
xyz\> 字位置: 字的結束
有關 FINDSTR 常見表達法的詳細情況,請見聯機命令參考。

使用示例


在文件aa.txt中查找"hello"或 "there" :
findstr "hello there" aa.txt
在文件aa.txt中查找"hello there":
徠findstr /c:"hello there" aa.txt
在Proposal.txt中查找首字母大寫的“Windows”:
findstr Windows proposal.txt
要在當前目錄及其子目錄找查找包含不區分大小寫的“Windows”的文件:
findstr /s /i Windows *.*
要查找沒有或有多個空格開頭的且包含“FOR”字元的行,並顯示行號:
findstr /b /n /r /c:"^ *FOR" *.bas
查找一系列文件中的多個字元串,可以創建一個包含字元串的文本文件,要查找到的文件放在另一個文本文件中列出。例如,包含字元串的文本文件叫Stringlist.txt,包含文件的文本文件叫Filelist.txt,並將結果輸出到Results.out:
findstr /g:stringlist.txt /f:filelist.txt > results.out
要列出當前目錄中包含忽略大小寫的單詞“computer”的文件:
findstr /s /i /m "\" *.*
要查找包含單詞 "computer"或"comp"開頭的單詞的文件:
findstr /s /i /m "\
  • 目錄