nichtkeks
Goto Top

Zeit in batch anzeigen und addieren mit einem angegebenem wert

Hallo ich habe gerade eine idee und wollte wissen wie ich es den schaffe das ich z.B den wert 5 tage 23h und 14m habe das ich die batch öffne und die zeit weiter leuft und beim nächsten öffnen nicht von vorne beginnt sondern speichert wo es beim letzten mal war und dann pro sekunde wieder +1 rechnet

Content-Key: 371251

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

Printed on: April 24, 2024 at 11:04 o'clock

Member: emeriks
emeriks Apr 16, 2018 updated at 07:17:56 (UTC)
Goto Top
Hi,
der erste Schritt wäre m.E., korrekte Sätze zu bilden. Das hilft auch ungemein beim Strukturieren der eigenen Gedanken.

E.
Mitglied: 135950
135950 Apr 16, 2018 updated at 11:21:56 (UTC)
Goto Top
Ich würde zu Powershell oder VBS raten, Batch ist das schlechteste Mittel wenn es um Datum und Zeitberechnungen geht, man kann es zwar in die Batch einbetten aber wieso mit dem Kettcar fahren wenn nebenan der Porsche steht face-smile.

Powershell Beispiel
# Datei in der die Zeit gespeichert wird
$savestate = 'c:\Ordner\time.txt'  
# aktuelle Zeit Zwischenspeichern 
$start = get-date
# Prüfen ob Datei existiert und je nachdem Zeit aus Datei oder Initialwert nehmen
if(!(Test-Path $savestate)){
   $initial = [timespan]'5.23:14:00'  
}else{
   $initial = [timespan](gc $savestate -Totalcount 1)
}

# tu hier irgendwas
Write-Host "Zeit beim letzten mal ist: $("{0:dd} Tage {0:hh} Stunden {0:mm} Minuten {0:ss} Sekunden" -f $initial)"  
sleep 5

# Am Ende Zeitwert zurück in Datei schreiben
$initial.Add(((get-date) - $start)).toString('dd\.hh\:mm\:ss') | sc $savestate -Force  
Gruß m.
Member: Pedant
Pedant Apr 16, 2018 at 11:57:05 (UTC)
Goto Top
Hallo NichtKeks,

falls Dir marathon nicht schon geholfen hat, schließe ich mich emeriks an...

Zitat von @NichtKeks:
...wie ich es den schaffe das ich z.B den wert 5 tage 23h und 14m habe...
Wo möchtest Du diesen Wert haben?
Soll er wirklich im genannten Format sein: 5 tage 23h und 14m?

Zitat von @NichtKeks:
...das ich die batch öffne und die zeit weiter leuft...
Welche Batch? Zeig mal was Du hast, falls Du was hast.
Welche Zeit? Die aus dem Wert ist keine Zeit, sondern eine Zeitspanne.

Zitat von @NichtKeks:
...und beim nächsten öffnen nicht von vorne beginnt...
Was wäre hier "vorne"? Wieder der von Dir genannte Wert?

Zitat von @NichtKeks:
...sondern speichert wo es beim letzten mal war...
Wo soll es denn gespeichert werden? In einer Datei, die nur den zu speichernden Wert enthalten soll oder woanders?

Zitat von @NichtKeks:
... und dann pro sekunde wieder +1 rechnet.
Also den gespeicherten Wert um die Anzahl vergangener Sekunden erhöhen?

Ich verstehe das jetzt so, dass Du die Ablaufdauer einer Batch ermitteln möchtest und den ermittelten Wert für jeden erneuten Ablauf aufaddieren möchtest.
Hast Du das so gemeint?

Gruß Frank