Answers:
如果您需要包括短语(以空格分隔的单词),则可以执行以下操作:
findstr /i /c:"IBSS" /c:"WDI Version" /c:"Soft Ap"
或者,如果您得到一些不需要的行,也可以使用/v
参数将它们排除:
findstr /i /c:Hosted /c:Version /c:Driver | findstr /v /i /c:drivers /c:native
(在Windows 7和Windows 10上进行了测试)
FindStr /V /I /C:"Native" /C:"Drivers" | FindStr /I /R /C:"Hosted" /C:"Version /C:"Driver"
形成OR
逻辑的方式取决于您要寻找的内容以及预期的未来更改(如果适用)。
如果这是其中没有空格的查询列表,则可以这样做,既快捷又肮脏:
findstr "thing1 thing2 thing3 thing4 thing5"
并且如果存在任何这些东西,它将评估为true并退出0。
如果您要查找的内容确实包含空格,则必须将findstr
的文字搜索字符串与/c:""
参数类型一起使用。如果没有空格,您仍然可以使用这种类型的参数。
/C:string Uses specified string as a literal search string.
但是,您不能将文字与快速而肮脏的内容相结合。例如,这将不起作用:
findstr "thing1 thing2" /c:"thing3 thingy"
您需要将早期的参数转换为文字参数,如下所示:
findstr /c:"thing1" /c:"thing2" /c:"thing3 thingy"
因此,使用文字选项是一种更好的做法,因为它可以在动态脚本中更好地扩展。但是,如果它只是一组没有空格的静态查询,那么快速而肮脏的方式就足够了。
FindStr /I /R /C:"Hosted" /C:"Version /C:"Driver[^S]" | FindStr /v /i /c:"Native"