it-swarm-eu.dev

Come posso sospendere il computer dal menu Prompt dei comandi/menu Esegui?

So che quasi tutto su Windows, come aprire qualsiasi tipo di applicazione, può essere fatto dal comando Prompt o dal menu Esegui .

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

140
Lazer

Troverai shutdown.exe per essere tuo amico.

Altri comandi pratici vedono questo post:

Sleep Computer (leggi di più su https://superuser.com/a/463652/249349 )

Blocca la workstation

Hibernate Computer

see answers by Scott Chamberlain and Eric L

Riavvia il computer

Shutdown.exe -r -t 00

Spegnere il computer

Shutdown.exe -s -t 00

EDIT/UPDATE:

Sembra che dormire un computer sia problematico se si attiva l'ibernazione.

Copia da altre risposte:

Puoi provare PsShutdown o:

Il comando rundll32.exe powrprof.dll, SetSuspendState 0,1,0 per la sospensione è corretto, tuttavia, se non disattivate la modalità di ibernazione, andrà in ibernazione anziché in sospensione.

Ecco come farlo:

Vai al menu Start e apri un prompt dei comandi con un numero elevato digitando cmd.exe, facendo clic con il pulsante destro del mouse e scegliendo Esegui come amministratore. Digita il seguente comando:

powercfg -hibernate off
127
brandstaetter

I metodi pubblicati da altre persone non funzionano correttamente se un computer ha attivato la modalità di sospensione, il computer non si riattiverà sulla tastiera o, cosa più importante, non si riattiverà sull'attività pianificata.

Uno degli strumenti Sysinternals di Microsoft è PsShutdown che utilizza il comando psshutdown -d -t 0 che dormirà correttamente, non hibernate , un computer

82

Il comando rundll32.exe powrprof.dll,SetSuspendState 0,1,0 per l'interruzione del sonno è corretto, tuttavia, sarà in ibernazione anziché in stato di sospensione se non si disattiva la sospensione.

Ecco come farlo:

Vai al menu Start e apri un prompt dei comandi con privilegi elevati digitando cmd.exe, facendo clic con il pulsante destro del mouse e scegliendo Esegui come amministratore . Digita il seguente comando:

powercfg -hibernate off
19
user35414

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

nircmd.exe standby

Se hai il sonno ibrido abilitato, funzionerà; cioè, mette il computer in stato di stop e copia la memoria su disco in caso di mancanza di alimentazione.

9
Eric L

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

wizmo standby

3
harrymc

Ho creato una scorciatoia per rundll32.exe powrprof.dll,SetSuspendState 0,1,0 (anche provato con 0,0,0), ma l'esecuzione del collegamento sembrava mettere il mio PC in ibernazione. Non ho potuto riattivare il PC usando la tastiera; Dovevo premere il pulsante di accensione e il PC mostrava i messaggi di posta della postazione principale, ecc.

Dopo aver letto il documento dell'API di Windows , ho creato un programma molto semplice con solo 3 righe di battitura. Ho caricato l'eseguibile che ho compilato su questa pagina (fai clic su "SleepTest.exe") , ma questo file potrebbe essere cancellato dopo un po '(questo è un sito di hosting gratuito di file che ho appena trovato da un rapido Ricerca Google).

Se non ti fidi di me (che è del tutto soddisfacente) 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 sopra non ha messo il computer in ibernazione. Potrei svegliare il PC all'istante (nessun messaggio di posta sulla mainboard, ecc.) Premendo un tasto qualsiasi sulla tastiera.

3
Damn Vegetables

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

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

Se il computer è impostato per consentire l'ibernazione, il comando precedente avvierà la sospensione. Se la funzione di ibernazione è disabilitata, allora entrerà nello stato di attesa. Come altri utenti hanno risposto in precedenza, shutdown.exe /? fornirà molte opzioni di spegnimento.

2
BlueDevil

Se hai Python (con pywin32) disponibile puoi anche chiamare direttamente la funzione SetSuspendState con:

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

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

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

Quindi, se non hai i file .py associati all'interprete, puoi semplicemente fare doppio clic sul link.

1
dash-tom-bang

La parte di chiusura della domanda è chiara per tutti.
shutdown.exe /? mostra tutte le opzioni di arresto/riavvio/avvio opzioni avanzate/avvio firmware.

Ma vedo tanti colpi lanciati intorno alla parte del Sonno.
Tutti si rendono conto che rundll32.exe non deve essere usato per chiamare funzioni casuali e funziona qui solo per l'ibernazione per coincidenza.Ma questa è la natura di Windows - una scatola nera che le persone hanno individuato e trovato centinaia di soluzioni alternative per portare a termine un lavoro (shout out a dostips).

Ci sono così tante "proper" soluzioni che propongono strumenti esterni, eppure non riesco a trovare uno script batch nativo (ibrido/pinvoke/qualunque), anche se questa domanda è rimasta attiva nel corso degli anni.
Quindi ecco il mio semplicepower_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 linea singola:

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();"
1
AveYo

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

post scriptum codice sorgente disponibile qui .

1
T.Todua

Devi prima disabilitare Hibernate in Windows e poi mettere il computer in Sleep state. Usa i seguenti due comandi:

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

e per fare l'azione inversa, Hibernating il computer, usa i comandi qui sotto:

powercfg -hibernate on
rundll32.exe powrprof.dll,SetSuspendState Hibernate
1
Mohsen Abasi

Qui 's un articolo sull'utilizzo di CLI per lo spegnimento.

Microsoft fornisce PsTools che ti offre l'arresto CLI insieme ad altri strumenti utili. Puoi ottenerlo qui .

1
wonton