Einträge in einer Datei zählen
Hallo,
ich habe ein (hoffentlich) kleines Problem.
Ich möchte die Anzahl der Zeilen einer Textdatei mit Hilfe eines Batch-Programmes zählen.
ich habe etwas herumexperimentiert, konnte mein Problem aber nicht lösen
Mit der Anweisung:
for /f %%i in (datei.txt) do echo %%i
bekomme ich die Einträge in der Datei angezeigt. Das ist so auch ok.
mit der Anweisung
for /f %%i in (datei.txt) do set pp=%%i
wurde der letzen Eintrag der Datei der Variablen pp zugewiesen.
Das Zählen der Einträge habe ich dann mit der Anweisung:
set /a zz=0
for /f %%i in (datei.txt) do set /a zz=%zz%+1
probiert, was allerdings nicht funktionierte.
Die Variable zz hat unabhängig der Einträge/Zeilen in der Datei nur den Wert 1 angenommen.
Es wäre toll, wenn mir hier jemand weiterhelfen könnte.
ich habe ein (hoffentlich) kleines Problem.
Ich möchte die Anzahl der Zeilen einer Textdatei mit Hilfe eines Batch-Programmes zählen.
ich habe etwas herumexperimentiert, konnte mein Problem aber nicht lösen
Mit der Anweisung:
for /f %%i in (datei.txt) do echo %%i
bekomme ich die Einträge in der Datei angezeigt. Das ist so auch ok.
mit der Anweisung
for /f %%i in (datei.txt) do set pp=%%i
wurde der letzen Eintrag der Datei der Variablen pp zugewiesen.
Das Zählen der Einträge habe ich dann mit der Anweisung:
set /a zz=0
for /f %%i in (datei.txt) do set /a zz=%zz%+1
probiert, was allerdings nicht funktionierte.
Die Variable zz hat unabhängig der Einträge/Zeilen in der Datei nur den Wert 1 angenommen.
Es wäre toll, wenn mir hier jemand weiterhelfen könnte.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 146380
Url: https://administrator.de/contentid/146380
Ausgedruckt am: 25.11.2024 um 02:11 Uhr
5 Kommentare
Neuester Kommentar
Umgehen kannst du das, indem du die cmd mit dem Parameter /V:ON aufrufst
... oder auch einfach mit einemsetlocal enabledelayedexpansion
das %zz% durch !zz! ersetzt.
- Du könntest aber auch einfachfor /f %%i in (datei.txt) do set /a zz+=1
Alternativen zum "Selbstzählen" wären per "
find
" oder "findstr
" zu realisieren:for /f %%i in ('find /c /v "§§§§§"<datei.txt') do set /a zz=%%i
for /f "delims=:" %%i in ('findstr /n "^" datei.txt') do set /a zz=%%i
Die beiden letzten Varianten zählen auch Leerzeilen.
Grüße
bastla
P.S.: Willkommen im Forum, wiboma!