Zeit messen ist mit Batch kein Problem und oftmals eine nette Spielerei.

Code:

set /a timerstart=((1%time:~0,2%-100)*60*60)+((1%time:~3,2%-100)*60)+(1%time:~6,2%-100)
REM packing zip archive
%wd%\7za.exe a -bd -ssw "%job-ziel%.zip" "%job-quelle%" > nul
set /a timerstop=((1%time:~0,2%-100)*60*60)+((1%time:~3,2%-100)*60)+(1%time:~6,2%-100)
set /a timeseks=(%timerstop%-%timerstart%)
set /a timemins=(%timerstop%-%timerstart%)/60
echo Sekunden: %timeseks% -- Minuten: %timemins%

Erläuterung:
Also, timerstart nimmt die aktuelle Uhrzeit und rechnet aus, wieviele Sekunden seit 00:00 Uhr verstrichen sind.
Der 2. Timer, timerstop, rechner ebenfalls die Sekunden seit 00 Uhr aus. Zieht man diese jetzt von der Startzeit ab so bleibt die Anzahl in Sekunden übrig, die zwischen den Timern verstrichen ist.
Das bedeutet natürlich auch, dass eine Zeitberechnung von einem Tag in den nächsten nicht funktioniert. Start und Stop müssen zwischen 00 Uhr und 23:59 Uhr des selben Tages liegen.

Details zu dieser Art der Zeitmessung:
Diese Berechnung ist bereits eine optimierte Variante. Grundsätzlich würde in 80% der Fälle auch

set /a timerstart=((%time:~0,2%)*60*60)+((%time:~3,2%)*60)+(%time:~6,2%)

funktionieren; diese Variante findet man auch überall im Netz.
Ich beobachtete jedoch Probleme bei Zeitberechnungen, wenn mit den Zahlen “08″ und “09″ hantiert wurde.
Also beispielsweise um 16:08:09 Uhr wird ein Timer aktiviert. Dann rechnet dieser eigentlich
((16)*60*60)+((08)*60)+(09)
Batch kommt damit aber nicht klar, da er dezimale Zahlen und oktale Zahlen durcheinander bringt. Um trotzdem mit Uhrzeiten mit “08″ und “09″ rechnung zu können habe ich die Zeile ergänzt:

set /a timerstart=((1%time:~0,2%-100)*60*60)+((1%time:~3,2%-100)*60)+(1%time:~6,2%-100)

Nun wird also bei 16:08:09 gerechnet:
((116-100)*60*60)+((108-100)*60)+(109-100)
Funktioniert icon smile Zeitmessung mit Batch

batch zeit messen measure time 460x131 Zeitmessung mit Batch