To może być głupie pytanie, ale nawet po przeczytaniu dokumentacji wciąż nie jestem pewien, jak znaleźć wszystkie wiersze w pliku zawierającym „.cpp” lub „.h”.
Czy jest na to sposób?
Na przykład (nie działa):
findstr /i .cpp,.h // , == OR
windows
command-line-interface
findstr
Thomas Bonini
źródło
źródło
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"
Sposób formowania
OR
logiki zależy od tego, czego szukasz i przewidywanych przyszłych zmian, jeśli dotyczy.Jeśli jest to lista zapytań, w których nie ma spacji, możesz to zrobić w następujący sposób, szybko i brudnie:
findstr "thing1 thing2 thing3 thing4 thing5"
a jeśli którakolwiek z tych rzeczy będzie obecna, oceni to na true i wyjdzie z 0.Jeśli to, czego szukasz, ma spacje, musisz użyć
findstr
dosłownych ciągów wyszukiwania z/c:""
typem parametru. Możesz nadal używać tego typu parametru, jeśli nie ma białych znaków.Jednakże , nie można połączyć dosłowne z Szybko i po łebkach . Na przykład to nie zadziała:
findstr "thing1 thing2" /c:"thing3 thingy"
Musisz przekonwertować wcześniejsze parametry na parametry dosłowne, na przykład:
findstr /c:"thing1" /c:"thing2" /c:"thing3 thingy"
Z tego powodu lepszym rozwiązaniem jest użycie opcji dosłownej, ponieważ lepiej skaluje się ona za pomocą skryptów dynamicznych. Jednak jeśli jest to tylko statyczny zestaw zapytań, które nie mają spacji, wystarczy szybki i brudny sposób.
źródło