Dies mag eine dumme Frage sein, aber selbst nach dem Lesen der Dokumentation bin ich mir nicht sicher, wie ich alle Zeilen in einer Datei finden kann, die entweder ".cpp" oder ".h" enthalten.
Gibt es eine Möglichkeit, das zu tun?
Zum Beispiel (funktioniert nicht):
findstr /i .cpp,.h // , == OR
windows
command-line-interface
findstr
Thomas Bonini
quelle
quelle
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"
Wie Sie die
OR
Logik bilden, hängt davon ab, wonach Sie suchen und gegebenenfalls von Ihren voraussichtlichen zukünftigen Änderungen.Wenn es sich um eine Liste von Abfragen handelt, die kein Leerzeichen enthalten, können Sie dies einfach so tun: schnell und schmutzig:
findstr "thing1 thing2 thing3 thing4 thing5"
und wenn eines dieser Dinge vorhanden ist, wird es als wahr ausgewertet und 0 beendet.Wenn das, was Sie suchen, Leerzeichen enthält, müssen Sie die
findstr
Literal-Suchzeichenfolgen mit dem/c:""
Parametertyp verwenden. Sie können diesen Parametertyp weiterhin verwenden, wenn kein Leerzeichen vorhanden ist.Allerdings , können Sie nicht wörtlich kombinieren mit quick & dirty . Dies funktioniert beispielsweise nicht:
findstr "thing1 thing2" /c:"thing3 thingy"
Sie müssten die früheren Parameter wie folgt in Literalparameter konvertieren:
findstr /c:"thing1" /c:"thing2" /c:"thing3 thingy"
Aus diesem Grund ist es besser, die Literaloption zu verwenden, da sie mit dynamischen Skripten besser skaliert werden kann. Wenn es sich jedoch nur um eine statische Gruppe von Abfragen handelt, die kein Leerzeichen enthalten, sollte der schnelle und schmutzige Weg ausreichen.
quelle