1. #1
    Avatar von ABP
    Registriert seit
    18.08.2015
    Beiträge
    57
    Thanked 13 Times in 10 Posts

    Standard Aktuelle Uhrzeit in Schleife von Batch-Skript

    Ich habe eine For-Schleife in einem Batchskript, die rechenintensive Umwandlungen für eine Reihe von Dateien durchführt. Daher soll in dieser Schleife jeweils die Uhrzeit ausgegeben werden, wenn mit der Umwandlung einer bestimmten Datei begonnen wird. Ich nutze aktuell
    Code:
    %time:~0,-6%
    womit ich eine Uhrzeitangabe wie 18:22 erhalte. Das Problem: Die %time% Variable scheint nur einmalig beim Starten des Skriptes gesetzt zu werden. Ich erhalte somit immer die Startzeit, nicht die aktuelle Uhrzeit beim Ausgeben dieses Wertes.

    Beispiel: Wir gehen davon aus, jeder Durchlauf benötigt 1 Stunde Zeit. Erwarten würde ich folgende Ausgabe
    Code:
    18:22 Datei 1
    19:22 Datei 2
    20:22 Datei 3
    ...
    Ich erhalte jedoch diese hier:
    Code:
    18:22 Datei 1
    18:22 Datei 2
    18:22 Datei 3
    Wie kann ich Batch zwingen, mir die aktuelle Uhrzeit in %time% zu schreiben?

  2. #2

    Registriert seit
    17.09.2012
    Beiträge
    1.865
    Thanked 384 Times in 258 Posts

    Standard AW: Aktuelle Uhrzeit in Schleife von Batch-Skript

    Quelle : https://de.wikibooks.org/wiki/Batch-...mierungshilfen

    In einer Batchdatei kann die Verwendung von %DATE% und insbesondere von %TIME% dazu führen, dass sich die ausgegebene Uhrzeit nicht aktualisiert.

    Damit %DATE% und %TIME% die richtigen Werte ausgeben, muss unbedingt die verzögerte Erweiterung von Umgebungsvariablen mit dem Befehl SETLOCAL ENABLEEXTENSIONS aktiviert werden.

  3. #3
    Avatar von ABP
    Registriert seit
    18.08.2015
    Beiträge
    57
    Thanked 13 Times in 10 Posts

    Standard AW: Aktuelle Uhrzeit in Schleife von Batch-Skript

    Das habe ich bereits drin, es bringt keine Veränderung. Beide Variablen scheinen nur beim Starten des Skriptes einen festen Wert zugewiesen zu bekommen, und sich danach nie wieder zu aktualisieren.

  4. #4
    Avatar von Leuchtturmwärter
    Registriert seit
    04.02.2013
    Beiträge
    61
    Thanked 46 Times in 29 Posts

    Standard AW: Aktuelle Uhrzeit in Schleife von Batch-Skript

    Zitat Zitat von ABP Beitrag anzeigen
    Das habe ich bereits drin
    Du hast es auch ganz am Beginn des Scripts, bevor Variablen evaluiert werden?

    Ansonsten gibt's noch das Kommandozeilenprogramm "time", mit dem man eigentlich eine neue Zeit einstellen kann.
    Mit dem Parameter "/T" gibt es jedoch nur die aktuelle Zeit in HH:MM aus:
    Code:
    >time /T
    23:17
    Ansonsten: Kannst du nicht auf Powershell umsteigen?
    Das bringt mit ein wenig Lernaufwand eine deutlich mächtigere Umgebung mit sich, und ist seit IIRC Vista eh auf jedem Windows vorhanden:
    Code:
    PS> get-date -Format "HH:mm"
    23:20

Ähnliche Themen

  1. Stellt die Uhrzeit um - nicht vergessen!
    Von MMA im Forum RealLife News
    Antworten: 10
    Letzter Beitrag: 27.03.2021, 15:02
  2. Antworten: 3
    Letzter Beitrag: 08.08.2014, 02:01
  3. Uhrzeit von U-Hacks falsch?
    Von ZarneXxX im Forum Feedback
    Antworten: 1
    Letzter Beitrag: 30.05.2013, 19:22
  4. (.bat) Batch Tutorial
    Von MC Phlegmatisch im Forum Tutorials
    Antworten: 0
    Letzter Beitrag: 31.03.2012, 13:35
  5. IP mit Datum und Uhrzeit in .txt
    Von KScript im Forum Skriptsprachen
    Antworten: 3
    Letzter Beitrag: 11.02.2011, 14:52
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.