一、作用
findstr是Window系統自帶的命令,用於查找某路徑下指定的一個或多個文件中包含某些特定字符串的行,並將該行完整的信息打印出來,或者打印查詢字符串所在的文件名。其用途和用法類似Linux下的grep命令。findstr命令在MS-DOS下使用。
二、命令語法
findstr [/b] [/e][/l][/r][/s][/i][/x][/v][/n][/m][/o][/p][/offline][/g:file][/f:file][/c:string][/d:dirlist][/a:ColorAttribute][strings][[Drive:][Path] FileName [...]]
三、參數解釋
/b 如果位於行的開頭則匹配模式,b是begin的首字母。 /e 如果位於行的末尾則匹配模式,e是end的首字母。 /l 使用文字搜索字符串,l是language的首字母。 /r 使用搜索串作為常規表達式。Findstr 將所有元字符解釋為常規表達式,除非使用了 /l。r是regular的首字母。 /s 在當前目錄和所有子目錄中搜索匹配的文件。 /i 指定搜索不區分大小寫。 /x 打印完全匹配的行。 /v 只打印不包含匹配的行。 /n 在每個匹配的行之前打印行號。 /m 如果文件包含匹配項,僅打印該文件名。 /o 在每次匹配行之前打印查找偏移量。 /p 跳過包含非可打印字符的文件。 /offline 利用脫機屬性設置處理文件。 /f:file 從指定文件中讀取文件列表。 /c:string 使用指定的文本作為文字搜索字符串。 /g:file 從指定文件得到搜索字符串。 /d:dirlist 搜索以逗號分隔的目錄列表。 /a:ColorAttribute 使用兩個十六進制數指定顏色屬性。 strings 指定要在 FileName中搜索的文本。
[Drive:][Path] FileName [...] [drive:]、[path]是可選的,如果省略,默認是查找當前目錄,至少指定一個文件,可以同時指定多個,用空格分隔,另外文件名可以使用通配符,例如所有文本文件,就可以寫成 *.txt 即可。
/? 在命令提示符顯示幫助。
四、例子
1、在當前目錄及所有子目錄下的所有文件中查找
在當前目錄及所有子目錄下的所有文件中查找"backup"這個字符串,*.*表示所有類型的文件。
findstr /s /i "backup" *.*
2、查找帶有空格的字符串
在當前目錄及所有子目錄下查找"backup jobs"
findstr /s /i /c:"backup jobs" *.*
3、指定路徑查找字符串"cmd"
在C:\tmp\查找所有txt文件的字符串"cmd"
findstr /s /i /c:"cmd" C:\tmp\*.txt