2017-04-15 139 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

相关问题