Essa pode ser uma pergunta estúpida, mas mesmo depois de ler a documentação , ainda não sei como encontrar todas as linhas em um arquivo que contenha ".cpp" ou ".h".
Existe uma maneira de fazer isso?
Por exemplo (não funciona):
findstr /i .cpp,.h // , == OR
windows
command-line-interface
findstr
Thomas Bonini
fonte
fonte
FindStr /I /R /C:"Hosted" /C:"Version /C:"Driver[^S]" | FindStr /v /i /c:"Native"
FindStr /V /I /C:"Native" /C:"Drivers" | FindStr /I /R /C:"Hosted" /C:"Version /C:"Driver"
Como você forma a
OR
lógica depende do que você está procurando e das mudanças futuras previstas, se aplicável.Se for uma lista de consultas que não possuem espaços em branco, basta fazer o seguinte, rápido e sujo:
findstr "thing1 thing2 thing3 thing4 thing5"
e se alguma dessas coisas estiver presente, ela será avaliada como verdadeira e sairá de 0.Se o que você está procurando tem espaço em branco, é necessário usar
findstr
as cadeias de pesquisa literais com o/c:""
tipo de parâmetro. Você ainda pode usar esse tipo de parâmetro se não houver espaço em branco.No entanto , você não pode combinar literal com rápido e sujo . Por exemplo, isso não funcionará:
findstr "thing1 thing2" /c:"thing3 thingy"
Você precisaria converter os parâmetros anteriores em parâmetros literais, assim:
findstr /c:"thing1" /c:"thing2" /c:"thing3 thingy"
Por esse motivo, é uma prática melhor usar a opção literal, pois ela será melhor dimensionada com scripts dinâmicos. No entanto, se for apenas um conjunto estático de consultas sem espaço em branco, a maneira rápida e suja deve ser suficiente.
fonte