kingrandy
Goto Top

Anzahl eines Ausdrucks in einer Datei in batch-Skript ermitteln

Hallo zusammen,

ich möchte gerne in einem batch-Skript ermitteln, wie oft bspw. das Wort "kiki" in der Datei "test.txt" vorkommt und die ermittelte Anzahl in die Variable ANZ schreiben, um die später noch zu verwenden. Leider bringt die folgende Zeile das falsche Ergebnis:


for /f %%l in ('find /C "kiki" C:\test.txt') do set ANZ=%%l

Dabei wird ANZ allerdings nicht mit dem zahlenmäßigen Ergebnis, sondern mit dem ersten Zeichenstring, den der find ausgibt, belegt, also mit ----------

Wie bekomme ich das Skript dazu, in der Variable das richtige Ergebnis zu setzen?

Content-ID: 71383

Url: https://administrator.de/forum/anzahl-eines-ausdrucks-in-einer-datei-in-batch-skript-ermitteln-71383.html

Ausgedruckt am: 21.04.2025 um 15:04 Uhr

bastla
bastla 19.10.2007 um 09:55:00 Uhr
Goto Top
Hallo kingrandy!

Du kannst zählen, in wie vielen Zeilen der Suchbegriff vorkommt:
@echo off & setlocal
set /a ANZ=0
for /f %%i in ('findstr /c:"kiki" C:\test.txt') do set /a ANZ+=1  
echo %ANZ%

Grüße
bastla
kingrandy
kingrandy 19.10.2007 um 10:47:06 Uhr
Goto Top
Danke!

Habe aber auch selber gerade herausgefunden, dass es auch mit der tokens-Option ging:

for /f "tokens=3" %%l in ('find /C "kiki" C:\test.txt') do set ANZ=%%l