Como posso colocar o computador em suspensão no menu Prompt de Comando / Executar?

135

Eu sei que quase tudo no Windows, como abrir qualquer tipo de aplicativo, pode ser feito a partir do prompt de comando ou do menu Executar .

Como posso colocar meu computador em sleep ou desativá-lo ? Qual é o comando para isso?

    
por Lazer 16.09.2009 / 16:15

12 respostas

127

Você encontrará shutdown.exe para ser seu amigo.

Outros comandos úteis estão disponíveis em este post:

Sleep Computer (leia mais em link )

Bloquear estação de trabalho

Computador de hibernação

see answers by Scott Chamberlain and Eric L

Reinicie o computador

Shutdown.exe -r -t 00

Computador de desligamento

Shutdown.exe -s -t 00

EDIT / UPDATE:

Parece que dormir em um computador é problemático se a hibernação estiver ativada.

Copiando de outras respostas:

Você pode tentar PsShutdown ou:

The command rundll32.exe powrprof.dll,SetSuspendState 0,1,0 for sleep is correct - however, it will hibernate instead of sleep if you don't turn the hibernation off.

Here's how to do that:

Go to the Start Menu and open an elevated Command Prompt by typing cmd.exe, right clicking and choosing Run as administrator. Type the following command:

powercfg -hibernate off
    
por 16.09.2009 / 16:21
78

Os métodos postados por outras pessoas não funcionam corretamente se um computador tiver a hibernação ativada, o computador não será ativado no teclado ou, mais importante, não será ativado na tarefa agendada.

Uma das ferramentas Sysinternals da Microsoft é PsShutdown usando o comando psshutdown -d -t 0 , ele irá dormir corretamente, < em> não hibernar , um computador

    
por 29.02.2012 / 21:57
19

O comando rundll32.exe powrprof.dll,SetSuspendState 0,1,0 para o sono está correto - no entanto, ele irá hibernar em vez de dormir se você não desligar a hibernação.

Veja como fazer isso:

Vá até o menu Iniciar e abra um prompt de comando elevado digitando cmd.exe , clicando com o botão direito e escolhendo Executar como administrador . Digite o seguinte comando:

powercfg -hibernate off
    
por 28.04.2010 / 07:28
7

O NirCmd funciona no Windows 8 (suponho que também funcione com o Windows 7) → link
O comando é standby , mas coloca o computador em repouso.

nircmd.exe standby

Se você tiver o sono híbrido ativado, ele funcionará; isto é, coloca o computador em repouso e copia a memória para o disco em caso de perda de energia.

    
por 06.04.2013 / 20:11
3

Veja o utilitário gratuito do Wizmo , que pode fazer muitas coisas.
O comando que você está procurando é provavelmente:

wizmo standby

    
por 16.09.2009 / 21:33
3

Eu criei um atalho para rundll32.exe powrprof.dll,SetSuspendState 0,1,0 (também tentei com 0,0,0), mas a execução do atalho pareceu colocar meu PC em hibernação. Não consegui acordar o PC usando o teclado; Eu tive que apertar o botão liga / desliga, e o PC mostrou a placa principal postar mensagens, etc.

Depois de ler o documento da API do Windows , Criei um programa muito simples com apenas 3 linhas de digitação. Eu fiz o upload do executável que eu compilei para esta página (clique em "SleepTest". exe ") , mas este arquivo pode ser excluído depois de um tempo (este é um site de hospedagem de arquivos gratuito que acabei de encontrar por uma rápida pesquisa no Google).

Se você não confia em mim (o que é totalmente bom) ou o arquivo foi excluído, você pode compilar o código sozinho, é claro. Você precisa adicionar "PowrProf.lib" às dependências adicionais do vinculador.

#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 parece estar fazendo a mesma coisa, mas de alguma forma, o programa acima não colocou o computador em hibernação. Eu poderia acordar o PC instantaneamente (sem mensagens post principais do mainboard, etc) pressionando qualquer tecla no teclado.

    
por 29.01.2017 / 15:55
2

Você pode iniciar as opções de suspensão ou hibernação a partir da linha de comando, conforme especificado abaixo e mencionado em este artigo .

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

Se o seu computador estiver configurado para permitir a hibernação, o comando acima iniciará a hibernação. Se o recurso de hibernação estiver desativado, ele entrará no estado de espera. Como outros usuários responderam anteriormente, shutdown.exe /? fornecerá muitas opções de desligamento.

    
por 17.09.2009 / 07:10
1

Você deve primeiro desabilitar o Hibernate nas janelas e depois colocar o computador no estado Sleep . Use os seguintes dois comandos:

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

e para fazer a ação inversa, Hibernando o computador, use os comandos abaixo:

powercfg -hibernate on
rundll32.exe powrprof.dll,SetSuspendState Hibernate
    
por 22.07.2012 / 22:56
1

Aqui está um artigo sobre o uso da CLI para desligar.

A Microsoft fornece o PsTools, que fornece o encerramento da CLI junto com outras ferramentas úteis. Você pode obter esse aqui .

    
por 07.08.2012 / 02:27
1

apenas QUADRADOR RÁPIDO funciona para mim (funciona no Windows 7,8,10).

p.s. código-fonte disponível aqui .

    
por 19.03.2016 / 10:53
1

Se você tiver Python (com pywin32) disponível, você também pode chamar essa função SetSuspendState diretamente com:

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

Isso pode ser facilmente colocado em um arquivo de lote ou em um tipo de atalho como:

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

Então, se você não tiver seus arquivos .py associados ao interpretador, basta clicar duas vezes no link.

    
por 28.10.2016 / 01:19
0

A parte de desligamento da questão é clara para todos.
shutdown.exe /? mostra todas as escolhas para opções de shutdown / restart / advanced boot / firmware boot.

Mas eu vejo tanta besteira jogada sobre a parte do Sono.
Todo mundo entende que rundll32.exe não deve ser usado para chamar funções aleatórias e apenas funciona aqui para hibernar inteiramente por coincidência. Mas essa é a natureza do Windows - uma caixa preta que as pessoas têm procurado e encontrado centenas de soluções alternativas para fazer um trabalho (gritar para dostips).

Existem muitas soluções " adequadas " que propõem ferramentas externas , mas parece que não consigo encontrar um lote nativo (híbrido / pinvoke / whatever) script , mesmo que esta questão tenha permanecido ativa ao longo dos anos.
Então aqui está meu power_sleep.bat simples:

@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

Até funciona como um grande comando de uma linha:

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();"
    
por 03.04.2018 / 07:28