Windows Batch/CMD - mit Variablen rechnen?
-
Aus einer Textdatei nach folgendem Muster
Wert: 10 blabla bleh strunz Wert: 13 blubber blub göbel dum Wert: 26
möchte ich die Summe der Zahlenwerte ermitteln. Mein Versuch sieht so aus
@echo off @set /a sum=0 @for /F "tokens=1,2" %%a in (c:\tmp.log) do ( @if "%%a"=="Unterschiedlich:" ( @if NOT "%%b"=="0" ( @echo ZwWert=%%b @set /a sum=%sum%+%%b @echo ZwSum=%sum% ) ) ) @echo EndSum=%sum%
Links die erwartete Ausgabe, recht die tatsächliche.
ZwWert=10 ZwWert=10 ZwSum=10 ZwSum=0 ZwWert=13 ZwWert=13 ZwSum=23 ZwSum=0 ZwWert=26 ZwWert=26 ZwSum=49 ZwSum=0 EndSum=49 EndSum=26
Wer kann mir sagen, wo es hier hakt und hat vor allem eine, gern auch alternative, Lösung?
Danke für alle Tips!PS.
Zielsystem ist Win2K/XP, die betreffende Datei ist das Log von ntbackup, das auf "Ausgelassen:" und "Unterschiedlich:" geprüft werden soll. Perl, VBS etc. kommen aus "administrativen Gründen" leider nicht in Betracht.
-
Da es etwas pressiert habe ich die Frage jetzt noch in einem anderen Board gestellt. Dort passt es inhaltlich wohl auch besser hin, deshalb könnte der Thread hier ggf. geschlossen werden.
Trotzdem Danke an alle, die sich mit dem Problem befasst haben.