mpfg
Goto Top

Zwischenzeit berechnen

Hallo,

ich suche eine Möglichkeit ein Programm zu einer eingegebenen Zeit mit Batch zu schließen.

mit timeout soll die Wartezeit von jetzt bis zur angegebenen Zeit überbrückt werden
Danach schließe ich das Programm mit taskkill.

timeout /t 3600
taskkill /s 192.168.1.10 /u PC1 /p passwort /f /im write.exe

Wie bekomme ich eine Abfrage für eine Uhrzeit hin, damit ich eine Uhrzeit eingeben kann ?
Danach soll die Zeit zwischen jetzt und der eingegebenen Zeit ermittelt werden ?

Geht so etwas überhaupt mit Batch ?

Gruß

Content-ID: 306321

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

Ausgedruckt am: 22.11.2024 um 21:11 Uhr

agowa338
Lösung agowa338 05.06.2016 aktualisiert um 21:50:07 Uhr
Goto Top
Rechnen kannst du mittels "set /a"
Die Aktuelle Uhrzeit erhälst du mitthilfe der %time% Variable.
rubberman
Lösung rubberman 05.06.2016 um 22:00:16 Uhr
Goto Top
Hallo MPFG,

für so etwas sollte doch der gute alte AT Befehl wie gemacht zu sein, oder?
https://support.microsoft.com/de-de/kb/313565

Grüße
rubberman
MPFG
MPFG 05.06.2016 um 22:09:38 Uhr
Goto Top
Hallo,

at kann ich leider nicht benutzen !
Darum eben das ganze mit wait.
Leider habe ich nach mehreren Stunden nichts lauffähiges zusammenbekommen.
Würde mich über ein Beispiel freuen.
Pjordorf
Pjordorf 05.06.2016 um 22:18:01 Uhr
Goto Top
Hallo,

Zitat von @MPFG:
at kann ich leider nicht benutzen !
Warum nicht?

Darum eben das ganze mit wait.
Wait hat aber mit Batch recht wenig zu tun.

Rechnen in Batch
Batch Rechnen

Und wie schon genannt lifern dir Date /t sowie Time /t oder für dich in Batch %Time% oder %Date% die Ausgangswerte.

Gruß,
Peter
rubberman
rubberman 05.06.2016 um 23:09:42 Uhr
Goto Top
at kann ich leider nicht benutzen !
Merkwürdig.
Batch kennt keinen DateTime Typ. Ritchie Lawrence hat in seiner Funktionsbibliothek eine DateToSecs Funktion. Diese gibt die Anzahl verstrichener Sekunden seit 1.1.1970 zurück. Die Differenz zweier Ergebnisse für Zielzeit und jetzt, ist was du benötigst.

Grüße
rubberman