Wie kann ich den Befehl shutdown verwenden, um den Computer in X Stunden in den Ruhezustand zu versetzen? [Duplikat]

40

Mods, bitte entferne das doppelte Tag von diesem. Ich habe es unten erklärt:

Kein Duplikat. Die "doppelte" Frage geht nicht auf den Zeitfaktor ein - was hier das eigentliche Problem ist.

Ich möchte meinen Windows 7-PC in 10 Stunden nach Abschluss eines Downloads in den Ruhezustand versetzen. Wenn ich das ausführe:

shutdown -h -t 36000

Ich erhalte nur den Hilfetext zum Herunterfahren. Es spielt keine Rolle, ob ich im Administratormodus oder normal für die Eingabeaufforderung cmd bin. Fehlt mir etwas? ich habe es versucht -t 36000 nur mit den gleichen Ergebnissen. Das gleiche mit / anstatt -.

Also entweder a) es funktioniert nicht oder b) es hat eine lustige Art, mir davon zu erzählen. Beeinträchtigen die Energieverwaltungseinstellungen diesen Befehl?

Update: Die /s Der Schalter fährt den Computer herunter (nicht in den Ruhezustand). /h ist ein gültiger Schalter. Hier ist ein Screenshot meines Befehls:

my shutdown screen

jcollum
quelle
Hast du schon "powercfg / hibernate on" ausgeführt? Und was passiert, wenn Sie den Befehl nur mit der Option / h und ohne die Option / t ausführen?
goblinbox
@goblinbox Ich habe es mit beiden Schaltern versucht, keiner hat funktioniert. Muss ich powercfg ausführen, damit shutdown cmd den Schalter / h ausführen kann?
jcollum
Ruhezustand muss aktiviert sein, um zu funktionieren, ja.
goblinbox
Ich schwöre, ich habe die Mods gebeten, das "doppelte" Tag mehrmals zu entfernen, aber sie lehnen es ab.
jcollum

Antworten:

37

Das -h Der Schalter wird verwendet, um den Computer unter Linux und nicht unter Windows herunterzufahren. Der richtige Befehl zum Herunterfahren eines Windows-Computers nach 7 Stunden lautet:

shutdown -s -t 36000

Windows zeigt ein Dialogfeld mit einem Countdown an, bis der Computer heruntergefahren wird.

Aber Sie möchten Ruhezustand, nicht herunterfahren, und leider die /h und das /t Schalter funktionieren nicht zusammen. Um dieses Problem zu umgehen, können Sie die at Befehl zu planen shutdown /h zu einer bestimmten Zeit laufen. Zum Beispiel ist es in meiner Zeitzone derzeit 15.00 Uhr, also 10 Stunden später 1.00 Uhr. Um den Ruhezustand zu planen, würde ich Folgendes ausführen:

at 1:00 shutdown /h

Es wird eine 24-Stunden-Zeitnotation verwendet. Wenn Sie also möchten, dass es um 13:00 Uhr in den Ruhezustand wechselt, führen Sie Folgendes aus:

at 13:00 shutdown /h

Bitte beachten Sie, dass Sie keine Administratorrechte benötigen, um das auszuführen shutdown Befehl auf Standard-Windows-Installationen benötigen Sie sie für die at Befehl.

Patches
quelle
+1 Herunterfahren? Zeigt alle Schalter für den Befehl an
Dave M
1
@ jcollum: Entschuldigung! Es scheint, dass Windows den zeitgesteuerten Ruhezustand nicht unterstützt. Beachten Sie, wenn Sie das weglassen /t 36000 Schalter, der Befehl funktioniert. Ich werde meiner Antwort eine Problemumgehung hinzufügen.
Patches
Vielen Dank. Ich habe den Befehl / h nie selbst getestet, da er sonst sofort beendet worden wäre. Außerdem habe ich auf der Manpage nirgends gesehen, dass sie nicht kompatibel sind - wie hätte ich das gefunden?
jcollum
5
Unter Win 8.1 at Befehl lässt sich nicht ausführen und gibt an, dass er veraltet ist und durch ersetzt wird schtasks. Das Mitleid.
Dominykas Mostauskis
1
@DominykasMostauskis Ich gehe davon aus, dass dies auch in Windows 10 zutrifft.
jcollum
24

Es sieht nicht so aus, als ob die Option -t mit der Option -h zum Herunterfahren unterstützt wird.

Unter Windows 7 können Sie das, was Sie versuchen, mit einem .bat-Skript duplizieren, das Folgendes enthält:

timeout /t 36000 /nobreak
shutdown -h

Der PC wird sofort in den Ruhezustand versetzt, sobald der Countdown abgelaufen ist.

Joe Internet
quelle
7
Sie können die Batch-Datei umgehen und auch direkt ausführen: timeout /t 36000 /nobreak & shutdown /h Wenn Sie zur Vereinfachung eine Batch-Datei erstellen, sollten Sie das Timeout natürlich durch ersetzen %1 so dass es universell ist.
Synetech
3
Eine Warnung ist jedoch, dass Sie das Herunterfahren nicht abbrechen können, indem Sie eine Taste mit der Taste drücken & Ausführung; Dadurch wird sofort heruntergefahren (Sie brechen nur das Warten ab). Mit einer Batch-Datei können Sie drücken Ctrl+Break und CMD fragt, ob Sie die Batch-Datei beenden (und damit das Herunterfahren abbrechen) oder fortsetzen möchten. Sie haben also die Wahl des Verhaltens. Oder Sie können eine weitere Batchdatei mit dem Befehl schreiben choice und überspringen timeout insgesamt: choice /n /t 3600 /d Y /m "Abort hibernate?" & if errorlevel 2 shutdown -h (Die verbleibende Zeit wird jedoch nicht angezeigt und ist auf 9999 Sekunden begrenzt at ).
Synetech
@Synetech: Es ist möglich, abzubrechen, indem Sie das Fenster schließen. Probieren Sie es einfach aus.
Viktor Mellgren
4
Eigentlich ist der Befehl ohne Batchdatei timeout /t 36000 /nobreak && shutdown -h - Dies stoppt, wenn Sie die Zeitüberschreitung abbrechen. Mit nur einem kaufmännischen Und würde es dann den zweiten Befehl ausführen.
Sven
@Sven Ich denke du meintest shutdown /h. Beachten Sie die /hnicht -h.
Dominykas Mostauskis
10

PsShutdown von Sysinternals kann den Computer nach einer festgelegten Zeitspanne in den Ruhezustand versetzen.

psshutdown -h -t 36000
paradroid
quelle
4
Das ist irgendwie übertrieben. Zwei weitere Antworten weisen auf eine einfachere Lösung hin. Trotzdem danke für die sysinternals Referenz
Isaac
6
@Isaac: Wie ist es Overkill? PsShutdown kann mehr als Herunterfahren und ist daher nützlich. Ich denke nicht, dass das Hinzufügen zusätzlicher Programme in Ihrem Pfad so eine große Sache ist.
paradroid
1
@Isaac Wie ist das Overkill? Es ist einfacher als jede andere Lösung und hat nur meinen Arsch gerettet! :)
Vince Panuccio
1
Im Gegensatz zum integrierten Herunterfahren kann PsShutdown unter 64-Bit-Windows-Betriebssystemen keine Benachrichtigung über das Herunterfahren anzeigen. Dies bedeutet, dass für den aktiven Benutzer keine Warnung vor dem bevorstehenden Herunterfahren / Ruhezustand angezeigt wird.
Weaver