2009-09-16 14:15:16 +0000 2009-09-16 14:15:16 +0000
147
147

Come posso mettere il computer a riposo dal menu Command Prompt/Run?

So che quasi tutto su Windows, come l'apertura di qualsiasi tipo di applicazione, può essere fatto dal punto di comando o dal menu Run.

Come posso mettere il computer a sleep o spegnerlo? Qual è il comando per questo?

Risposte (11)

130
130
130
2009-09-16 14:21:19 +0000

Troverete shutdown.exe per essere i vostri amici.

Altri comandi utili vedi questo post:

Sleep Computer (leggi tutto su https://superuser. com/a/463652/249349 )

Lock Workstation

Hibernate Computer

see answers by Scott Chamberlain and Eric L

Riavvio Computer

Shutdown.exe -r -t 00

Shutdown Computer

Shutdown.exe -s -t 00

EDIT/UPDATE:

Sembra che dormire un computer sia problematico se l'ibernazione è attivata.

Copiare da altre risposte:

Si può provare PsShutdown o:

Il comando rundll32.exe powrprof.dll,SetSuspendState 0,1,0 per il sonno è corretto - tuttavia, andrà in ibernazione invece di dormire se non si spegne il letargo.

Ecco come fare:

Andare al menu Start e aprire un prompt dei comandi elevato digitando cmd.exe, cliccando con il tasto destro del mouse e scegliendo Esegui come amministratore. Digitare il seguente comando:

powercfg -hibernate off
87
87
87
2012-02-29 20:57:51 +0000

I metodi pubblicati da altre persone non funzionano correttamente se un computer ha l'ibernazione abilitata, il computer non si sveglierà su Keyboard o, cosa più importante, non si sveglierà su attività programmate.

Uno degli strumenti Sysinternals di Microsoft è PsShutdown usando il comando psshutdown -d -t 0 si sveglierà correttamente, non andrà in ibernazione, un computer

10
10
10
2013-04-06 18:11:55 +0000

NirCmd funziona su Windows 8 (presumo che funzioni anche con Windows 7) → http://www.nirsoft.net/utils/nircmd.html Il comando è standby, ma mette il computer in sleep.

nircmd.exe standby
``` &001 


Se si dispone di sleep ibrido abilitato, funzionerà; cioè, mette il computer in sleep e copia la memoria su disco in caso di perdita di potenza.
3
3
3
2009-09-16 19:33:56 +0000

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

wizmo standby

3
3
3
2017-01-29 14:55:59 +0000

Ho creato una scorciatoia per rundll32.exe powrprof.dll,SetSuspendState 0,1,0 (anch'essa provata con 0,0,0,0), ma l'esecuzione della scorciatoia sembrava mettere il mio PC in ibernazione. Non riuscivo a svegliare il PC usando la tastiera; dovevo premere il pulsante di accensione, e il PC mostrava i messaggi dei post della mainboard, ecc.

Dopo aver letto il documento API di Windows , ho creato un programma molto semplice con solo 3 righe di digitazione. Ho caricato l'eseguibile che ho compilato su questa pagina (clicca su “SleepTest.exe”) , ma questo file potrebbe essere cancellato dopo un po’ di tempo (questo è un sito di file hosting gratuito che ho appena trovato con una rapida ricerca su Google).

Se non ti fidi di me (il che va benissimo) o il file è stato cancellato, puoi compilare il codice da solo, naturalmente. È necessario aggiungere “PowrProf.lib” alle dipendenze aggiuntive del Linker.

#include "stdafx.h"
#include "windows.h" <-- Added this to make it work on Windows.
#include "PowrProf.h" <-- Added this to use the sleep function.

int main()
{
    SetSuspendState(FALSE, FALSE, FALSE); <-- Added this actual call.
    return 0;
}

rundll32.exe powrprof.dll,SetSuspendState 0,1,0 sembra fare la stessa cosa, ma in qualche modo, il programma di cui sopra non ha messo il computer in ibernazione. Potevo svegliare il PC all'istante (nessun messaggio della mainboard, ecc.) premendo un tasto qualsiasi della tastiera.

2
2
2
2009-09-17 05:10:31 +0000

È possibile avviare le opzioni di sospensione o ibernazione dalla riga di comando come specificato di seguito e riportato in questo articolo .

%windir%\System32\rundll32.exe powrprof.dll,SetSuspendState
``` &001 


Se il computer è impostato per consentire l'ibernazione, il comando di cui sopra avvierà l'ibernazione. Se la funzione di ibernazione è disabilitata, allora entrerà nello stato di standby. Come altri utenti hanno risposto in precedenza, `shutdown.exe /?` fornirà molte opzioni di spegnimento.
1
1
1
2012-07-22 20:56:36 +0000

È necessario prima disattivare Hibernate in windows e poi mettere il computer in stato di Sleep. Utilizzare i seguenti due comandi:

powercfg -hibernate off
rundll32.exe powrprof.dll,SetSuspendState 0,1,0
``` ```
powercfg -hibernate on
rundll32.exe powrprof.dll,SetSuspendState Hibernate

e per eseguire l'azione inversa, Ibernare il computer, utilizzare i comandi riportati di seguito:

&001

1
1
1
2012-08-07 00:27:31 +0000

Qui è un articolo sull'uso della CLI per l'arresto.

Microsoft fornisce PsTools che vi dà l'arresto della CLI insieme ad altri strumenti utili. È possibile ottenere questo qui .

1
1
1
2016-03-19 09:53:53 +0000

solo QUICK SLEEPER funziona per me (funziona in Windows 7,8,10).

p.s. codice sorgente disponibile qui .

1
1
1
2016-10-27 23:19:30 +0000

Se si dispone di Python (con pywin32) si può anche chiamare la funzione SetSuspendState direttamente con:

import ctypes
ctypes.windll.PowrProf.SetSuspendState(0, 1, 0)

Questo può essere facilmente inserito in un file batch o in una scorciatoia del tipo:

pythonw -c "import ctypes; ctypes.windll.PowrProf.SetSuspendState(0, 1, 0)"
``` &001 


Quindi se non si hanno i file .py associati all'interprete si può semplicemente fare doppio clic sul link.
1
1
1
2018-04-03 05:28:08 +0000

La parte dello spegnimento della domanda è chiara per tutti. shutdown.exe /? mostra tutte le scelte di spegnimento / riavvio / avvio di opzioni avanzate / avvio del firmware.

Ma vedo così tante botte in giro per la parte dello Sleep. _Tutti capiscono che rundll32.exe non dovrebbe essere usato per chiamare funzioni casuali e qui funziona solo per ibernare per pura coincidenza. Ma questa è la natura di Windows - una scatola nera che la gente ha frugato in giro e ha trovato centinaia di soluzioni per fare un lavoro (grida ai nemici).

Ci sono così tante soluzioni “proper” che propongono strumenti esterni, eppure non riesco a trovare uno script nativo (ibrido / pinvoke / qualsiasi cosa) batch, anche se questa domanda è rimasta attiva nel corso degli anni. Ecco quindi il mio semplice * power_sleep.bat **:

@echo off &mode 32,2 &color cf &title Power Sleep
set "s1=$m='[DllImport ("Powrprof.dll", SetLastError = true)]"
set "s2=static extern bool SetSuspendState(bool hibernate, bool forceCritical, bool disableWakeEvent);"
set "s3=public static void PowerSleep(){ SetSuspendState(false, false, false); }';"
set "s4=add-type -name Import -member $m -namespace Dll; [Dll.Import]::PowerSleep();"
set "ps_powersleep=%s1%%s2%%s3%%s4%" 
call powershell.exe -NoProfile -NonInteractive -NoLogo -ExecutionPolicy Bypass -Command "%ps_powersleep:"=\"%"
exit

Funziona anche come un grande comando a una riga:

powershell.exe -C "$m='[DllImport(\"Powrprof.dll\",SetLastError=true)]static extern bool SetSuspendState(bool hibernate,bool forceCritical,bool disableWakeEvent);public static void PowerSleep(){SetSuspendState(false,false,false); }';add-type -name Import -member $m -namespace Dll; [Dll.Import]::PowerSleep();"