Verwenden von CMD, um den Computer nach xx Minuten in den Ruhezustand zu versetzen

1

Ich habe versucht, ein Programm zu erstellen, mit dem Sie einen Computer nach einer benutzerdefinierten Zeitspanne ausschalten oder in den Ruhezustand versetzen können.

Ich hatte kein Problem mit dem Ausschalten des Computers, habe jedoch Schwierigkeiten, ihn in den Ruhezustand zu versetzen (beispielsweise nach 60 Minuten).

Ich habe den Befehl, den Computer in den Ruhezustand zu versetzen, aber ich habe Schwierigkeiten, die Zeit einzustellen, in der das Programm wartet, bevor dies geschieht:

powercfg -h off & amp; Starten Sie / min "" C: \ WINDOWS \ System32 \ rundll32.exe   PowrProf.dll, SetSuspendState 0,1,0 & amp; ping -n 3 127.0.0.1 & gt; nul & amp;   powercfg -h on & amp; Ausfahrt

Bitte weisen Sie mich in die richtige Richtung.

Decrypt3d
quelle
Der Make-Shift-Timer ist auf 3 Sekunden eingestellt, da -n 3 3 Sekunden benötigt, um ihn auf 3600 einzustellen und zu testen
50-3
1
Ich würde vorschlagen, die Vbs oder Powershell zu ändern, wenn Sie Verzögerungen einfach steuern möchten
50-3
Mehr eine Programmierfrage und besser für SO geeignet als hier. . .
ernie

Antworten:

1

Ihre Frage hat wenig mit Python zu tun, wie der Befehl, den Sie unter Windows in der Befehlszeile eingegeben haben, einschließlich des Behelfszeitgebers. Wenn Sie sich den angezeigten Code ansehen, handelt es sich nur um eine Reihe von Befehlszeilenbefehlen, die mit & amp; . . .

powercfg -h off & start /min "" C:\WINDOWS\System32\rundll32.exe PowrProf.dll,SetSuspendState 0,1,0 & ping -n 3 127.0.0.1 > nul & powercfg -h on & exit

Wenn Sie dies aufschlüsseln, führt der Befehl Folgendes aus:

  1. powercfg -h off : Deaktiviert den Winterschlaf
  2. start /min "" C:\WINDOWS\System32\rundll32.exe PowrProf.dll,SetSuspendState 0,1,0 - Da bin ich mir nicht hundertprozentig sicher: Versetzt den Computer in den Ruhezustand
  3. ping -n 3 127.0.0.1 > nul : Dies ist ein gebräuchlicher Timer-Hack für Windows, bei dem eine Verzögerung von 3 Sekunden eingeführt wird. Ich gehe davon aus, dass dies dazu dient, einige Zeitprobleme zu lösen, wenn ein System aus dem Ruhezustand aufwacht, da dieser Befehl erst ausgeführt wird, wenn Sie wieder aufwachen
  4. powercfg -h on : Aktiviert den Ruhezustand wieder
  5. exit : beendet die Batch-Datei.

Hier gibt es also keine Verzögerung. . . Um eine Verzögerung in Python hinzuzufügen, können Sie die Sleep-Funktion des Zeitmoduls . Ein Beispielcode wäre so etwas wie:

import time
# Wait 10 seconds before running the next command
delay = 10
time.sleep(delay)
print "hi . . . it's been {0} seconds!".format(delay)
ernie
quelle