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-Key: 71383

Url: https://administrator.de/contentid/71383

Printed on: April 20, 2024 at 01:04 o'clock

Member: bastla
bastla Oct 19, 2007 at 07:55:00 (UTC)
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
Member: kingrandy
kingrandy Oct 19, 2007 at 08:47:06 (UTC)
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