Mit findstr vorhandene wie nicht vorhandene Werte angeben
Hallo zusammen,
ich habe folgendes Problem, bei dem ich irgendwie nicht weiter komme.
In mehreren Dokumenten befinden sich zeilenweise verschiedene Werte.
Der Aufbau(exemplarisch):
Hose 345
Pulli 461
etc.
Nun werden davon Werte abgefragt (sind angegeben in suchdat.dat).
dir /b C:\txt_2\txt\*.txt > list.dat
findstr /g:suchdat.dat /f:list.dat > resultat.dat
Wenn ich nun einen Begriff habe (Strumpf), der nur in jedem zweiten Dokument vorkommt, so taucht dieser im Resultat der anderen Dokumente nicht auf (da nicht existent).
Wie kann man es bewerkstelligen, dass dies im Resultat auch angegeben wird z.B Strumpf - ?
Damit soll eine gleichförmige Ausgabe zur Weiterbearbeitung in Excel erreicht werden.
Ich hoffe, ich konnte mich verständlich ausdrücken. Vielleicht hat ja einer eine Idee.
Vielen Dank schon einmal im Voraus
ich habe folgendes Problem, bei dem ich irgendwie nicht weiter komme.
In mehreren Dokumenten befinden sich zeilenweise verschiedene Werte.
Der Aufbau(exemplarisch):
Hose 345
Pulli 461
etc.
Nun werden davon Werte abgefragt (sind angegeben in suchdat.dat).
dir /b C:\txt_2\txt\*.txt > list.dat
findstr /g:suchdat.dat /f:list.dat > resultat.dat
Wenn ich nun einen Begriff habe (Strumpf), der nur in jedem zweiten Dokument vorkommt, so taucht dieser im Resultat der anderen Dokumente nicht auf (da nicht existent).
Wie kann man es bewerkstelligen, dass dies im Resultat auch angegeben wird z.B Strumpf - ?
Damit soll eine gleichförmige Ausgabe zur Weiterbearbeitung in Excel erreicht werden.
Ich hoffe, ich konnte mich verständlich ausdrücken. Vielleicht hat ja einer eine Idee.
Vielen Dank schon einmal im Voraus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 175460
Url: https://administrator.de/forum/mit-findstr-vorhandene-wie-nicht-vorhandene-werte-angeben-175460.html
Ausgedruckt am: 23.04.2025 um 16:04 Uhr
8 Kommentare
Neuester Kommentar
Hallo Bbeni39 und willkommen im Forum!
Soferne ich das richtig interpretiere, kann jeder Suchbegriff in jeder durchsuchten Datei nur einmal vorkommen - in diesem Fall könntest Du das vielleicht in geschachtelten Schleifen der Art
abhandeln ...
Grüße
bastla
[Edit] Fehlendes "=" in Zeile 1 hinzugefügt [/Edit]
Soferne ich das richtig interpretiere, kann jeder Suchbegriff in jeder durchsuchten Datei nur einmal vorkommen - in diesem Fall könntest Du das vielleicht in geschachtelten Schleifen der Art
for /f "useback delims=" %%s in ("suchdat.dat") do (
for /f "usebackq delims=" %%f in ("list.dat") do (
findstr /c:"%%s" "%%f"||echo %%s -
)>>resultat.dat
)
Grüße
bastla
[Edit] Fehlendes "=" in Zeile 1 hinzugefügt [/Edit]
Hallo Bbeni39!
Füge vor Zeile 3
ein (wobei hier als Trennzeichen ein Leerzeichen nach "%%f" verwendet wird - kannst Du natürlich durch ein anderes Zeichen ersetzen ...
Alternativ dazu könntest Du die Zeile 3 auf
ändern - wenn es mehrere passende Zeilen in einer Datei geben kann, wird so vor jeder Zeile "
Grüße
bastla
Füge vor Zeile 3
<nul set /p"=%%f "
Alternativ dazu könntest Du die Zeile 3 auf
findstr /c:"%%s" "%%f*"||echo %%f:%%s -
<Datei>:
" ausgegeben.Grüße
bastla