Wie PC mit Batch Datei zum Sleep-Mode versetzen?
Hi, ich möchte mein PC mit einer .bat nach einer angegebenen Zeit in den Sleep-Mode versetzen. Könnt ihr mir helfen?
4 Antworten
Wenn auf Deinem System die Option zum Ruhezustand aktiviert ist, löst
rundll32.exe powrprof.dll,SetSuspendState
...den Ruhezustand aus.
Die Wahl zwischen Ruhezustand und Standby lässt sich mit einem kleinen Powershell-Einzeiler treffen....
Standby:
powershell "Add-Type -a 'System.Windows.Forms';[Windows.Forms.Application]::SetSuspendState(0, 0, 0)>$Null"
Ruhezustand:
powershell "Add-Type -a 'System.Windows.Forms';[Windows.Forms.Application]::SetSuspendState(1, 0, 0)>$Null"
0 und 1 macht den unterschied...
Das lässt sich auch in einer Batch verwenden:
PCSleep.cmd
@echo off
mode 40,3
color 1e
rem Zeit, nach welcher die Defaultoption ausgeführt wird
set "defaultTimer=5"
set "defaultOption=s"
echo [R]uhezustand [S]tandby
echo [A]bbruch
choice /n /c RSA /t %defaultTimer% /d %defaultOption%
if %Errorlevel% equ 1 (set "State=1")
if %Errorlevel% equ 2 (set "State=0")
rem bei Abbruch Batch beenden...
if %Errorlevel% equ 3 (exit /b)
powershell "Add-Type -a 'System.Windows.Forms';[Windows.Forms.Application]::SetSuspendState(%State%, 0, 0)>$Null"
...und wenn Du nach einer Anzahl Sekunden den Rechner in den Standby schicken möchtest kein Problem:
@echo off
rem warte 5 minuten
timeout 300
powershell "Add-Type -a 'System.Windows.Forms';[Windows.Forms.Application]::SetSuspendState(0, 0, 0)>$Null"
allerdings kannst Du die ganze "show" auch komplett in Powershell erledigen:
Einzeiler:
powershell "Sleep 300;Add-Type -a 'System.Windows.Forms';[Windows.Forms.Application]::SetSuspendState(0, 0, 0)>$Null"
oder als Script...
PCSleep.ps1
Sleep 300
Add-Type -a 'System.Windows.Forms'
[Windows.Forms.Application]::SetSuspendState(0, 0, 0)>$Null
Probier mal folgendes in der Batch-Datei:
rundll32.exe powrprof.dll,SetSuspendState
Habe ich eben ausprobiert, mein PC hat sich problemlos schlafen gelegt. (Dachte zuerst, ich habe ihn heruntergefahren, er hat aber tatsächlich den RAM mit Strom versorgt.)
Hatte ich auch schon probiert, aber das versetzt mein PC nicht in den Sleep-Mode
Systemsteuerung / Energiesparen“ oder „Netzbetrieb und Energiesparen“. /Standby-Modus oder Energiesparmodus
Ich würde das mit dem Tool "PsShutdown" aus der Sysinternals Suite machen.
https://docs.microsoft.com/en-us/sysinternals/downloads/psshutdown
Hmm ja ist mir zu umständig, ich erstell mir dann einfach ein Python Script, danke