답변:
구 (공백으로 구분 된 단어)를 포함해야하는 경우 다음을 수행 할 수 있습니다.
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"