2017-04-15 87 views
0

您好我該怎麼翻譯這個批處理文件代碼查找字符串,如果字符串沒有找到放文件名的文本文件CMD

如果未發現* .TXT串,存儲文件名filesthathasnostring。 TXT

基本上我想創建所有的文件名列表不包含特定字符串
我嘗試失敗

find "STRING" *.txt || >>fail.txt 
+2

'FINDSTR /?'。看看'/ m'開關。 – Stephan

+0

抱歉,'/ m'和'/ v'不能很好地協同工作......請參閱我的答案以獲取其他方法。 – Stephan

回答

1
(for %%a in (*.txt) do findstr "STRING" %%a >nul|| echo %%a)>filesthathasnostring.dat 

for循環允許您自行處理每個文件。搜索你的字符串,將輸出重定向到NUL,如果找不到,則輸出文件名。在整個循環中放入禁忌,以便能夠將它重定向到一個文件。

(如果你想直接在命令行中使用,替代每%%a%a

+0

嗨@stephan非常感謝這就是我正在尋找的,我剛剛刪除了)後%%一...非常感謝! – JVegeta

+1

您需要'''或者它只會寫入最後一個文件名。 '(對於(* .bat中的%a)執行findstr/I「asdf」「%〜a」1> nul || echo「%〜a」)> filesthathasnostring.dat' – lit