Per Batch Zeile einlesen und vor einem bestimmten Wort eine Zeichenkette einlesen
Hi
Die Überschrift mag etwas verwirrend sein
Ich habe ein Log. Bei diesem Log variieren die Anzahl der Zeilen. Das gesuchte Wort steht somit oft in einer anderen Zeile!!
Ich suche ein Wort.
Was ich weis ist, das dieses Wort an der ersten Stelle der Zeile steht (also das 1. Wort, aber ich weis die Zeile nicht). Nach dem Wort folgt ein String mit immer der selben Form. Die 1. Wörter der Zeilen davor und danach sind auch gleich (in allen meinen Testdurchgängen jedenfalls).
Praktisch so:
...
Zeile x-1: gleicher_text
Zeile xxx: GESUCHTE_WORT - gleicher_text_einzigartig
Zeile x+1: gleicher_text
...
Man könnte also sagen:
Suche zuerst diese Zeile mit dem Wort "gleicher_text_einzigartig" und lese von dieser Zeile das erste Wort!!
Ich weis zwar wie man bestimmte Texte sucht, aber ich weis leider nicht, wie ich an das gesuchte Wort komme
Jmd ne Idee, wie ich das gesuchte Wort elegant finde?
Ich könnte auch umständliche Routinen einbauen, soll aber ja nicht Sinn der Sache sein
Die Überschrift mag etwas verwirrend sein
Ich habe ein Log. Bei diesem Log variieren die Anzahl der Zeilen. Das gesuchte Wort steht somit oft in einer anderen Zeile!!
Ich suche ein Wort.
Was ich weis ist, das dieses Wort an der ersten Stelle der Zeile steht (also das 1. Wort, aber ich weis die Zeile nicht). Nach dem Wort folgt ein String mit immer der selben Form. Die 1. Wörter der Zeilen davor und danach sind auch gleich (in allen meinen Testdurchgängen jedenfalls).
Praktisch so:
...
Zeile x-1: gleicher_text
Zeile xxx: GESUCHTE_WORT - gleicher_text_einzigartig
Zeile x+1: gleicher_text
...
Man könnte also sagen:
Suche zuerst diese Zeile mit dem Wort "gleicher_text_einzigartig" und lese von dieser Zeile das erste Wort!!
Ich weis zwar wie man bestimmte Texte sucht, aber ich weis leider nicht, wie ich an das gesuchte Wort komme
Jmd ne Idee, wie ich das gesuchte Wort elegant finde?
Ich könnte auch umständliche Routinen einbauen, soll aber ja nicht Sinn der Sache sein
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 88332
Url: https://administrator.de/forum/per-batch-zeile-einlesen-und-vor-einem-bestimmten-wort-eine-zeichenkette-einlesen-88332.html
Ausgedruckt am: 04.05.2025 um 19:05 Uhr
2 Kommentare
Neuester Kommentar
Moin rkrause78,
das Wort findest Du am besten mit der Kombination einer FOR/F-Anweisung mit einem FindStr-Aufruf.
So wäre das wesentliche am CMD-Prompt
In eine Variable im Batch bekommst Du es so:
Grüße
Biber
das Wort findest Du am besten mit der Kombination einer FOR/F-Anweisung mit einem FindStr-Aufruf.
>for /f %i in ('findstr /c:"gleicher_text_einzigartig" d:\work\Deine.Log') do @echo %i
GESUCHTE_WORT
In eine Variable im Batch bekommst Du es so:
for /f %%i in ('findstr /c:"gleicher_text_einzigartig" d:\work\Deine.Log') do Set myVar=%%i
Grüße
Biber