Startzeit eines Batches direkt eingeben
hallo zusammen,
ich führe Zeitgesteuert einen Reboot einiger Maschinen durch, das sehr simpel:
shutdown /r /f /t XXX
ich habe jetzt folgendes Problem... XXX sollte irgendwann in der nächsten Nacht sein...
i.M. mache ich das per Taskplaner aber das ist ehrlich gesagt schon aufwändig wenn ich das zusätzlich darüber starten muss...
am besten wäre ich könnte den Batch doppelklicken und der könnte die aktulle Zeit nehmen - die Differenz zur Reboot Zeit ausrechnen und dann diesen Wert in XXX setzen...
kann man das tun?
vielen Dank.
ich führe Zeitgesteuert einen Reboot einiger Maschinen durch, das sehr simpel:
shutdown /r /f /t XXX
ich habe jetzt folgendes Problem... XXX sollte irgendwann in der nächsten Nacht sein...
i.M. mache ich das per Taskplaner aber das ist ehrlich gesagt schon aufwändig wenn ich das zusätzlich darüber starten muss...
am besten wäre ich könnte den Batch doppelklicken und der könnte die aktulle Zeit nehmen - die Differenz zur Reboot Zeit ausrechnen und dann diesen Wert in XXX setzen...
kann man das tun?
vielen Dank.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 281651
Url: https://administrator.de/contentid/281651
Ausgedruckt am: 05.11.2024 um 20:11 Uhr
15 Kommentare
Neuester Kommentar
Mit schtasks einen Task in der Batch anlegen der sich selber löscht oder den du einmal anlegst und dann per Batch nur aktivieren musst ist das doch kein Aufwand, sehe hier das Problem nicht?
Wenn du das unbedingt so haben willst:
Gruß grexit
Wenn du das unbedingt so haben willst:
@echo off
powershell -Executionpolicy ByPass -Command "&'shutdown.exe' /r /f /t ([math]::round(((get-date '22:30')-(get-date)).TotalSeconds))"
Gruß grexit
Sorry kleiner Fehler , ist oben korrigiert ...
Nur wenn du ein natives Powershell-Script nutzt, das obige geht auch in einer Batch mit Executionpolicy-Bypass wie du siehst
muss man das manuell machen oder lässt sich das auch über ein ps1 ausführen?
Brauchst du bei obigem Batch-Schnippsel nicht, einfach in eine BAT einfügen und freuen...und kann man ein ps1 Script nicht doppelklicken für den Start in PS geht es nur über rechts klick > Powershell ?
Kann man z.B. mit ExtMan anpassen das bei doppelklick die ps1 ausgeführt wird, aber obiger Schnippsel ist wie gesagt so wie er dort steht direkt in einer Batch nutzbar.Zitat von @manu90:
ist es möglich diese fixe get-date '22:30' zu überschreiben während dem Ausführen?
Was meinst du damit ? Du kannst es von mir aus durch eine Batch-Variable ersetzen und in deiner Batch abfragen ...ist es möglich diese fixe get-date '22:30' zu überschreiben während dem Ausführen?
also bspw. so:
@echo off
set /p mytime=Wann soll reboot erfolgen:
powershell -Executionpolicy ByPass -Command "&'shutdown.exe' /r /f /t ([math]::round(((get-date '%mytime%')-(get-date)).TotalSeconds))"
Zitat von @manu90:
ui habe aber noch ein Problem entdeckt wenn ich jetzt 21.45 nehme und Reboot erfolgt 03:00 ... dann hat das Teil ein Problem...
kann man das auch umgehen?
Dann geben am Prompt von meinem Beispiel einfach das Datum von Morgen mit an:ui habe aber noch ein Problem entdeckt wenn ich jetzt 21.45 nehme und Reboot erfolgt 03:00 ... dann hat das Teil ein Problem...
kann man das auch umgehen?
02.09.2015 03:00
Zitat von @manu90:
also wenn ich mit der fixen Zeit z.b. 23.00 einverstanden bin = 1 drücken
oder meine Zeit eingeben = 2 drücken...
haste für sowas auch so schnell was im Köcher?
also wenn ich mit der fixen Zeit z.b. 23.00 einverstanden bin = 1 drücken
oder meine Zeit eingeben = 2 drücken...
haste für sowas auch so schnell was im Köcher?
@echo off
:start
cls
echo Auswahl:
echo [1] Reboot um 23:00
echo [2] Zeit angeben
choice /C 12 /M "Deine Auswahl"
if "%errorlevel%" == "255" goto :start
goto option%errorlevel%
:option1
set "reboot=23:00"
goto exec
:option2
set /p reboot=Um welches Datum/Uhrzeit soll reboot erfolgen:
:exec
powershell -Executionpolicy ByPass -Command "&'shutdown.exe' /r /f /t ([math]::round(((get-date '%reboot%')-(get-date)).TotalSeconds))"
Das kommt schon. Übung macht den Meister.
Schönen Abend.
grexit
Wenns das dann war, den Beitrag bitte noch auf gelöst setzen.
Schönen Abend.
grexit
Wenns das dann war, den Beitrag bitte noch auf gelöst setzen.