Batch: findstr mit Option "weder noch"
Hallo,
ich habe eine batch, mit der ich alle Zeilen, die einem bestimmten Filterkriterium aus einer (bzw. mehreren) Datei(en) entferne. Das funktioniert soweit auch ganz gut.
Leider besteht nun die Anforderung, auch Zeilen, die einem anderen Kriterium entsprechen, zu entfernen. Natürlich wäre es möglich, die Dateien jeweils zwei Mal zu bearbeiten, also zwei Schleifendurchläufe vorzunehmen.
Aber das ist nicht gerade performant und bei großen Datenmengen (ich bewege mich im GB-Bereich) macht sich das wirklich bemerkbar.
Gibt es vielleicht die Möglichkeit, findstr zwei Kriterien mitzugeben? Leider finde ich dazu nirgendwo Beispiele.
Gruß, Olaf
ich habe eine batch, mit der ich alle Zeilen, die einem bestimmten Filterkriterium aus einer (bzw. mehreren) Datei(en) entferne. Das funktioniert soweit auch ganz gut.
cd H:\test
for %%f in (.\*) do findstr /b /v /c:"R " %%f > %%~nf.txl
del *.txt
rename *.txl *.txt
Leider besteht nun die Anforderung, auch Zeilen, die einem anderen Kriterium entsprechen, zu entfernen. Natürlich wäre es möglich, die Dateien jeweils zwei Mal zu bearbeiten, also zwei Schleifendurchläufe vorzunehmen.
cd H:\test
for %%f in (.\*) do findstr /b /v /c:"R " %%f > %%~nf.txl
for %%f in (.\*) do findstr /b /v /c:"Y " %%f > %%~nf.txt
del *.txl
Aber das ist nicht gerade performant und bei großen Datenmengen (ich bewege mich im GB-Bereich) macht sich das wirklich bemerkbar.
Gibt es vielleicht die Möglichkeit, findstr zwei Kriterien mitzugeben? Leider finde ich dazu nirgendwo Beispiele.
Gruß, Olaf
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 277641
Url: https://administrator.de/contentid/277641
Ausgedruckt am: 22.11.2024 um 20:11 Uhr
4 Kommentare
Neuester Kommentar
Ah, ok.
Hast Du Dich schon mal mit dem Parameter /G von findstr beschäftigt? - Damit kann man dem Befehl eine Datei mitgeben, in der eine oder mehrere Suchkriterien eingetragen sind (If you want to search for several different items in the same set of files, create a text file that contains each search criterion on a new line.). Kombiniert mit /b und /v könnte Dir das vielleicht weiterhelfen?
Hast Du Dich schon mal mit dem Parameter /G von findstr beschäftigt? - Damit kann man dem Befehl eine Datei mitgeben, in der eine oder mehrere Suchkriterien eingetragen sind (If you want to search for several different items in the same set of files, create a text file that contains each search criterion on a new line.). Kombiniert mit /b und /v könnte Dir das vielleicht weiterhelfen?