batch zeilen einer txt zählen und als variable speichern.
Hallo Mitteinander
Ich möchte gerne mit einer Batch in einer txt alle Zeilen zählen und die Ergebnisszahl als Variable weiterverwenden.
Ich habe e¨twas zum auswerten einer logdatei gefunden:
Set /A "Counter=0"
FOR /F "delims=" %%A IN (blabla.txt) DO SET /A "COUNTER+=1"
Ich weis hier allerdings nicht genau was passiert und habe keine Ausgabe...
Ich wäre froh um jede Hilfe.
LG Anok
Ich möchte gerne mit einer Batch in einer txt alle Zeilen zählen und die Ergebnisszahl als Variable weiterverwenden.
Ich habe e¨twas zum auswerten einer logdatei gefunden:
Set /A "Counter=0"
FOR /F "delims=" %%A IN (blabla.txt) DO SET /A "COUNTER+=1"
Ich weis hier allerdings nicht genau was passiert und habe keine Ausgabe...
Ich wäre froh um jede Hilfe.
LG Anok
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 111445
Url: https://administrator.de/contentid/111445
Ausgedruckt am: 22.11.2024 um 09:11 Uhr
5 Kommentare
Neuester Kommentar
Bei deinem Code im Eingangsposting fehlt nur die Ausgabe noch.
Die For-Schleife gehe alle Zeilen (außer Leerzeilen) durch. In jeder Zeile wied so der Counter um eins hochgezählt.
Edit:
Etwas schöner ist diese Methode mit Findstr:
Set /A "Counter=0"
FOR /F "delims=" %%A IN (blabla.txt) DO SET /A "Counter+=1"
echo %Counter% Zeilen
Edit:
Etwas schöner ist diese Methode mit Findstr:
FOR /F "delims=:" %%A IN ('findstr /N .* "blabla.txt"') DO echo %%A Zeilen
Mit findstring kannst du in einer Datei bestimtme Worte suchen. Es werden dir dan diese Zeilen ausgegeben. Der zusätzliche Parameter /N bewirkt das die Zeilennumemr jeder Trefferzeile vor der jeweiligen Zeile angezeigt wird (gefolgt von einem ":").
In der Hilfe zum Findstring befehl wirst du sehen das außerdem "regular expresions" unterstützt werden. Dies wird hier genutzt. Statt nach einem Bestimmtem begrif zu suchen wird hier nach .* gesucht. Dies bedeutet ein beliebiges Zeichen das kein oder mehrmals oft vorkommt. Dadurch wird jede zeile ausgegeben und entsprechend durchnummrriert.
Das ganze wird in der For-Schleife durchlaufen. Würde nach dem do ein
In der Hilfe zum Findstring befehl wirst du sehen das außerdem "regular expresions" unterstützt werden. Dies wird hier genutzt. Statt nach einem Bestimmtem begrif zu suchen wird hier nach .* gesucht. Dies bedeutet ein beliebiges Zeichen das kein oder mehrmals oft vorkommt. Dadurch wird jede zeile ausgegeben und entsprechend durchnummrriert.
Das ganze wird in der For-Schleife durchlaufen. Würde nach dem do ein
set Couter=%%A
stehen würde bei jeder Zeile der Datei der Variabeln %counter% so die aktuelle Zeilennummer zugewieeen werden. Läst man sich nun nach dem For diese Variable ausgeben enthält sie die Nummer der letzten Zeile, also die Gesamtzeilenanzahl.