列出cmd中不包含特定字符串的文件
使用下面的代码,我试图列出所有文件夹和子目录中没有字符串列出cmd中不包含特定字符串的文件,cmd,Cmd,使用下面的代码,我试图列出所有文件夹和子目录中没有字符串fontdex但没有列出任何内容或错误的文件 for %a in ("dir /s *.*") do @findstr "fontIndex" "%a" >nul || echo %a 试一试 /i表示不区分大小写 /v不匹配 /仅限m文件名 /L文字 /s和子目录 您的代码不起作用,因为dir/s输出不仅仅是一个文件名列表-这将是dir/s/b/a-d,并且您没有得到任何输出,因为>nul处理了输出(将其发送到oblivion)
fontdex
但没有列出任何内容或错误的文件
for %a in ("dir /s *.*") do @findstr "fontIndex" "%a" >nul || echo %a
试一试
/i表示不区分大小写/v不匹配
/仅限m文件名
/L文字
/s和子目录
您的代码不起作用,因为
dir/s
输出不仅仅是一个文件名列表-这将是dir/s/b/a-d
,并且您没有得到任何输出,因为>nul
处理了输出(将其发送到oblivion)
要查找包含“Fontindex”但不包含“Fontindex1”(其中1
可能包含任何字母数字)的文件,请使用
findstr /i /m /R /s "FontIndex[^0-9a-z]" *.*
也就是说,/R
(“正则表达式”)被指定为紧跟着^
而不是[字符组,其中-
表示范围]
我没有测试/v
版本,因为有效/无效组合对我来说太麻烦了,无法评估。试试看
/i表示不区分大小写/v不匹配
/仅限m文件名
/L文字
/s和子目录
您的代码不起作用,因为
dir/s
输出不仅仅是一个文件名列表-这将是dir/s/b/a-d
,并且您没有得到任何输出,因为>nul
处理了输出(将其发送到oblivion)
要查找包含“Fontindex”但不包含“Fontindex1”(其中1
可能包含任何字母数字)的文件,请使用
findstr /i /m /R /s "FontIndex[^0-9a-z]" *.*
也就是说,/R
(“正则表达式”)被指定为紧跟着^
而不是[字符组,其中-
表示范围]
我没有测试
/v
版本,因为有效/无效的组合对我来说太麻烦了,无法评估。你看过for
的文档了吗?在命令提示窗口中键入for/?
以获得帮助。因此,可以对(“***”)中的/R%a执行操作,
或对/F“delims=”执行操作在批处理文件中使用时,('dir/S/B/a:-D“*.*”)中的%a做…
。请注意,%a
必须更改为%a
。顺便说一句,与|
不同,只需将findstr
命令行更改为:findstr/M/V“fontdindex”“%a”
(无>nul
)…您是否查看了for
的文档?在命令提示窗口中键入for/?
以获取帮助。因此,请执行for/R%a in(“**”)do…
或执行for/F“delims=“%a in('dir/S/B/a:-D“*”)请注意,在批处理文件中使用%a
时,必须将%a
更改为%a
。顺便说一句,只需将findstr
命令行更改为:findstr/M/V“fontdindex”“%a”
(无>nul
)…实际上,我在文件中有类似于fontinex2
,fontinex1
的字符串,这些文件不应列出。我尝试更改代码,但没有成功。尝试了以下操作:findstr/v/m/s“fontIndex”*.
@experiator,打开一个命令提示符窗口,然后输入findstr/?
并阅读其使用信息。您可能会发现使用一个或两个单词位置:
正则表达式会更好。但是,就您的问题而言,基于您缺乏支持信息,这是这个答案的范围之外。实际上,我在文件中有像fontIndex2
,fontIndex1
这样的字符串,这些文件不应该被列出。我尝试过更改代码,但没有成功。尝试过这个:findstr/v/m/s“fontIndex”*.
@experiator,打开一个命令提示符窗口,然后输入findstr/?
并阅读其使用信息。您可能会发现使用一个或两个单词位置:
正则表达式会更好。但是,就您的问题而言,基于您缺乏支持信息,这是这个答案的范围之外。