我們有時候在找檔案文字時,可能會需要一個檔案一個檔案把他打開來找,這很沒效率。這時候你可以用cmd指令一次搜尋整個資料夾甚至包含子資料夾下的檔案,看有沒有哪個檔案有包含到你要的文字,像下面這樣可以拿來找密碼或是flag,但是他有個限制就是他都是把檔案當作記事本打開來找的方式,所以你要是有pdf excel等的就不能用這方式找。
findstr /p /i /s /c:"密碼" *.txt
#或是拿來找flag
findstr /n /i /s "flag" *
參數 | 說明 |
---|---|
/b | 如果文字模式位於行的開頭,則會比對。 |
/e | 符合文字模式(如果它位於行尾)。 |
/l | 以真正的程式處理搜尋字串。 |
/r | 以正則運算式處理搜尋字串。 這是預設值。 |
/s | 搜尋目前的目錄和所有子目錄。 |
/i | 搜尋字串時,忽略字元的大小寫。 |
/x | 列印完全相符的行。 |
/v | 只列印不包含相符項的行。 |
/n | 列印每一行相符的行號。 |
/m | 如果檔案包含相符的檔案,則只列印檔案名。 |
/o | 在每個相符行之前列印字元位移。 |
/p | 略過具有不可列印字元的檔案。 |
/off [行] | 不會略過已設定 offline 屬性的檔案。 |
/f<file> | 從指定的檔案取得檔案清單。 |
/c<string> | 使用指定的文字做為常值搜尋字串。(似乎可以不用特別指定) |
/g<file> | 從指定的檔案取得搜尋字串。 |
/d<dirlist> | 搜尋指定的目錄清單。 每個目錄都必須以分號 (; 例如 dir1;dir2;dir3 ) 。 |
/a<colorattribute> | 指定具有兩個十六進位數位的色彩屬性。 輸入 color /? 以取得詳細資訊。 |
<strings> | 指定要在 檔案名中搜尋的文字。 必要。 |
[\<drive>:][<path>]<filename>[...] | 指定要搜尋的位置和檔案。 至少需要一個檔案名。 |
/? | 在命令提示字元顯示 [說明]。 |
如果是linux要找檔案名稱的話,可以參考下面這樣,例如我要找檔案名稱是user開頭的 ,然後過程不要出來,只留正確的顯示就好就需要參數2> /dev/null
find / -name user* -ls 2> /dev/null
如果我要找當下目錄的所有檔案內,看是否有flag字串就是如下
. (小數點)表示當下你所在的目錄,你也可以改成指定的路徑也行
rep -nir flag .
參考文章:Microsoft_findstr