2012-08-29 20 views
0

只是試圖搜索屬於目錄(及其所有子目錄)的文件內的特定文本。FindStr在Windows中的用法

1) findstr /f:"C:\\test.txt" "TextForSearch" > "out.txt" 

給了我正確的答案。這裏的test.txt包含所有要搜索的文件。它正被重新定向到out.txt。

現在,out.txt包含所有匹配的實例,但不使用空格分隔。如何獲得文件out.txt中的空格或分隔符的所有文件名(只有文件名)的列表?

2) findstr /D:"C:\\" "TextForSearch" 

根本不搜索。它只是掛起?我在哪裏錯了?

+1

'/ M'選項使Findtr在找到匹配項時僅打印文件名。它應該每行輸出一個匹配,所以不需要分隔符。 –

+0

這有效!很好..謝謝@哈利! –

回答

1
findstr /S /D:"C:\\" "TextForSearch" * 

/S recersion搜索當前目錄和所有子目錄中的匹配文件。

*搜索所有文件

+0

謝謝特德。但是,當我使用/ f選項並將其重定向到文本文件時,沒有分隔符。任何想法如何做到這一點? –

1

對於其他人來說,

感謝泰德和哈利。

的解決方案是

1) 1) findstr /m /f:"C:\\test.txt" "TextForSearch" > "out.txt" 

中的test.txt中指定的文件搜索特定字符串,並將其重定向到一個名爲out.txt在單獨的行匹配的文件的文本文件(Demilited。感謝上帝。 )

findstr /S /D:"C:\\" "TextForSearch" * 

結帳Ted的回答!