2009-09-11 10:16:21 +0000 2009-09-11 10:16:21 +0000
63
63

Qual è il comando da usare per mettere il computer a dormire (non ibernare)?

Voglio mettere il mio PC Windows (Windows 7) in uno stato di sonno tramite la linea di comando (in modo da poter legare il pulsante macro sulla tastiera).

Il pulsante di accensione del PC è impostato per mettere il computer a dormire (ma è giù sul pavimento e sono troppo pigro per raggiungerlo) esattamente come voglio io (dorme usando la modalità ibrida nel caso in cui perda l'alimentazione)

Anche il comando sleep sul menu di spegnimento funziona.

la maggior parte delle informazioni che ho trovato dicono di usare;

%windir%\system32\rundll32.exe PowrProf.dll, SetSuspendState 0,1,0

ma questo mette il computer in modalità ibernazione. Io ho l'ibernazione disabilitata ma uso lo sleep ibrido.

Quindi, qual è il comando da usare per mettere il computer a dormire (non ibernare)?

Risposte (8)

73
73
73
2010-09-15 03:25:22 +0000

Spero che li troviate utili.

Shutdown %windir%\System32\shutdown.exe -s

Reboot %windir%\System32\shutdown.exe -r

Logoff %windir%\System32\shutdown.exe -l

Standby %windir%\System32\rundll32.exe powrprof.dll,SetSuspendState Standby

Hibernate %windir%\System32\rundll32.exe powrprof.dll,SetSuspendState Hibernate

Attenzione: rundll32.exe non dovrebbe essere usato per lanciare powerprof.dll . Invece dovresti chiamare SetSuspendState direttamente. Questo può essere fatto usando Powershell - crea un file ad esempio sleep.ps1, con il seguente contenuto.

Add-Type -Assembly System.Windows.Forms
[System.Windows.Forms.Application]::SetSuspendState("Suspend", $false, $true)

Poi eseguilo usando powershell -File C:\your-path\sleep.ps1. Potrebbe essere necessario eseguire prima il comando Set-ExecutionPolicy RemoteSigned per abilitare l'esecuzione degli script powershell.

Lo script di cui sopra causa una sospensione del sistema, che andrà in sleep o in ibernazione a seconda della vostra attuale impostazione di ibernazione. Per cambiare questa impostazione dalla linea di comando, eseguite powercfg -h off (o on) dalla linea di comando come amministratore.

16
16
16
2009-09-11 10:38:59 +0000

Vedi l'utilità gratuita di Wizmo , che può fare molte cose.
Il comando che stai cercando è probabilmente

wizmo standby

14
14
14
2011-06-29 18:56:07 +0000

Potete creare un file con estensione .ps1 (powershell) come “sleep.ps1” e scrivere questo:

Add-Type -Assembly System.Windows.Forms
[System.Windows.Forms.Application]::SetSuspendState("Suspend", $false, $true)

Io lo uso quando ho qualcosa in esecuzione e devo lasciare il pc e non voglio spegnerlo. Quindi cambio lo script in questo modo:

$minutes = read-host "Enter minutes to wait until sleep";
$secs= 60*$minutes;
Start-sleep -s $secs

Add-Type -Assembly System.Windows.Forms
[System.Windows.Forms.Application]::SetSuspendState("Suspend", $false, $true)

E ora quando lo eseguo, inserisco solo i minuti che voglio aspettare fino allo spegnimento.

Puoi eseguirlo dalla linea cmd scrivendo

powershell -File C:\your-path\sleep.ps1

Se non hai mai eseguito uno script PowerShell prima, vorrai prima eseguire

Set-ExecutionPolicy RemoteSigned

in PowerShell per abilitare l'esecuzione dello script. Questo deve essere eseguito solo una volta.

13
13
13
2010-05-28 19:01:38 +0000

Ho trovato una soluzione. Ho installato un programma freeware chiamato AutoHotKey e ho registrato i passi per invocare Start Menu -> Sleep in un file di script. Poi ho compilato il file di script in un eseguibile stand-alone SleepWin7.exe.

Ora eseguo semplicemente SleepWin7.exe per mettere il mio computer in sonno ibrido.

Potete disinstallare AutoHotKey se vi serve solo per questo.


Aggiornamento: La soluzione di cui sopra non funziona quando l'utente non è loggato, cioè nella schermata di accesso di Windows 7. (Il mio computer si sveglia alle 4 del mattino ogni domenica per eseguire il backup settimanale, che viene fatto senza il login dell'utente). In tal caso, il programma Wizmo funziona ancora:

wizmo.exe quiet standby!

11
11
11
2012-06-20 19:25:37 +0000

Con Sysinternals PsTools [ download ]:

psshutdown -d

utilizzando lo strumento a riga di comando PsShutdown .

(Potresti preferire questa soluzione se hai già scaricato PsTools, è abbastanza usato. A parte questo, questo approccio è equivalente all'uso di wizmo quiet standby).

Fonte: https://superuser.com/a/331545/21887

7
7
7
2012-10-10 04:25:06 +0000

Ho usato questa utility SLEEP.EXE per anni. Funziona bene, e non devi ricordare quali argomenti dargli per la modalità di sospensione (la sua forma predefinita di “dormire”).

5
5
5
2010-12-16 17:25:46 +0000

Fate un file bat, dove 600 è il ritardo in secondi.

ping -n 600 -w 1 127.0.0.1 > nul

powercfg -h off

%windir%\System32\rundll32.exe powrprof.dll,SetSuspendState Standby

4
4
4
2010-09-15 00:55:39 +0000

Se sei competente con la compilazione di un programma .NET il seguente comando farà questo

System.Windows.Forms.Application.SetSuspendState(PowerState.Suspend, 
                                                 false, /* force */
                                                 true /* disableWake */);

Nota: Non hai bisogno di disabilitare l'ibernazione come richiesto dal comando rundll32 powrprof.dll,SetSuspendState. Puoi anche usare PowerState.Hibernate che ibernerà la macchina se vuoi.

Puoi facilmente compilare un EXE con questo comando con qualsiasi versione di Visual Studio . Basta creare un'applicazione console e aggiungere un riferimento alla DLL System.Windows.Forms.