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


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

Como posso colocar meu computador para dormir ou desligue isso? Qual é o comando para isso?


131


origem


Digite shutdown no prompt de comando e dê uma olhada nos trabalhos de saída no XP e acima do que eu posso dizer. - user10547
Relacionado: superuser.com/questions/39584/… - Nayuki


Respostas:


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

Outros comandos úteis ver esta postar:

Sleep Computer (leia mais em https://superuser.com/a/463652/249349 )

Bloquear estação de trabalho

Computador de hibernação

see answers by Scott Chamberlain and Eric L

Reinicialização do computador

Shutdown.exe -r -t 00

Desligar o computador

Shutdown.exe -s -t 00

EDITAR / ATUALIZAR:

Parece que dormir em um computador é problemático se o modo de hibernação estiver ativado.

Copiando de outras respostas:

Você pode tentar PsShutdown ou:

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

Veja como fazer isso:

Vá para o menu Iniciar e abra um prompt de comando elevado digitando   cmd.exe, clique com o botão direito e escolha Executar como administrador. Digite o   seguinte comando:

powercfg -hibernate off

127



Problema com rundll32.exe powrprof.dll,SetSuspendState 0,1,0 é que ele não funciona como deveria. SetSuspendState colocará o computador em uma espécie de modo de suspensão / hibernação híbrida. Quando você usa o botão Suspender no menu Iniciar, pode reiniciar seu computador do modo de espera pressionando qualquer tecla do teclado. O uso dessa linha de comando faz com que seja retomado muito mais devagar devido ao estado de suspensão mais profundo e só pode ser retomado se você pressionar o botão liga / desliga no computador. Não pode continuar para uma tecla pressionada. Então ... como você faz isso dormir como no modo de espera normal - reiniciável com o pressionar de uma tecla? - Corporate Geek
Os votos negativos não são, no mínimo, injustificados. Sua resposta não resolve a questão por conta própria. Os leitores devem ser capazes de coletar informações úteis suficientes de uma resposta para resolver o problema sem ter que seguir quaisquer links para outros sites que possam estar quebrados ou mortos. - Iszi
Downvoted por não responder a pergunta: mesmo na página vinculada, o método descrito para colocar a máquina em suspensão não funcionará quando a hibernação estiver habilitada. - akurtser
Também testei o comando Suspender e também posso confirmar que ele não funciona como pretendido. Não tem nada a ver com odiar / trollar, mas se esse comando não funciona, então a questão não é respondida, já que essa era a parte principal da questão. - reSPAWNed
rundll32não deve ser usado para chamar SetSuspendState porque a sua assinatura não corresponde ao esperado por rundll32. Vejo: support.microsoft.com/en-us/kb/164787 e msdn.microsoft.com/pt-pt/library/windows/desktop/… O primeiro parâmetro obtém lixo em vez de valor FALSE. É a razão, porque hiberna em vez de ir dormir. - SergeyT


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 da Microsoft Sysinternals é PsShutdown usando o comando psshutdown -d -t 0 vai dormir corretamente não hibernar, um computador


73



Requer elevação ao administrador - dsmtoday
Não funciona no Windows 10. Operação não suportada. Correu como admin. - T3rm1
Funciona para mim no Windows 10 x64, Build 1709. - Hans Løken
Funciona para mim no Win10x64 Versão 1709, execute cmd com conta de usuário de administrador, mas sem run as administrator opção de clique direito - Viktor Carlson
Funciona para mim com o Windows 10 (nem mesmo como administrador). - DAB


O comando rundll32.exe powrprof.dll,SetSuspendState 0,1,0 pois 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á para 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

19



Eu acho que é a primeira resposta que realmente resolve isso. Eu coloquei essas duas linhas (-bem off primeiro) e fiz um arquivo em lotes que coloca o pc para dormir. Um problema com isso é que ele essencialmente desativa a hibernação, que não é o que eu queria, então, para consertá-lo, adicionei uma tarefa planejada acionada em "na estação de trabalho" para reativar a hibernação com um lote cuja única linha é " powercfg -hibernate off ". Então eu configurei uma tecla curta para o primeiro arquivo de lote. Feito. Funciona como um encanto, obrigado! - akurtser
Isso é tão estranho. A hibernação precisa ser desligada antes que você possa dormir adequadamente? Existe um nome para o estado híbrido de suspensão / suspensão? powrprof.dll é quando o modo de hibernação está ativado? Só quero saber. Está relacionado com algum dos estados da ACPI? - Ehtesh Choudhury
rundll32não deve ser usado para chamar SetSuspendState porque a sua assinatura não corresponde ao esperado por rundll32. Vejo: support.microsoft.com/en-us/kb/164787 e msdn.microsoft.com/pt-pt/library/windows/desktop/… O primeiro parâmetro obtém lixo em vez de FALSE. É a razão, porque hiberna em vez de ir dormir. - SergeyT
Não funciona no Windows 10 - T3rm1
@EhteshChoudhury, o problema neste caso é que os parâmetros de Rundll32 são incorretos e completamente inadequados, de forma que eles realmente chamam SetSuspendState com os parâmetros: Hibernate: TRUE, ForceCritical: TRUE, DisableWakeEvents: TRUE. O último bit explica porque você não pode acordar o PC com nada além do botão liga / desliga. É apenas uma coincidência que tentar hibernar quando estiver desabilitado colocará seu PC para dormir no Win7, e provavelmente por que ele não funciona para algumas pessoas. - SilverbackNet


NirCmd funciona no Windows 8 (suponho que também funciona com o Windows 7) → http://www.nirsoft.net/utils/nircmd.html
O comando é standby, mas coloca o computador para dormir.

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.


7



Isso funciona sem ter que elevar para o administrador. Funciona com ou sem o modo de hibernação ativado. Funciona como esperado com o sono híbrido. Boa solução para o Win10. - dsmtoday


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

wizmo standby


3



O Wizmo tem o mesmo problema que rundll32.exe powrprof.dll,SetSuspendState 0,1,0 - coloca o computador em hibernação, não no sono - Andomar
Não, visto que o Vista coloca o computador em Sono Híbrido. Se você não quer isso, então Desligue o sono híbrido. - harrymc
O apagão do wizmo funcionou no windows 8.1, 10. GREAT !!!!!!!!!!!!! - YumYumYum
Wizmo funciona muito bem. Infelizmente, meu scanner de vírus corporativo o exclui, pois contém algumas sequências que fazem o McAfee pensar contém um trojan. - bastian
@bastian: Mcafee sempre foi uma má notícia para um escritor de aplicativos (por experiência pessoal). - harrymc


Eu criei um atalho para rundll32.exe powrprof.dll,SetSuspendState 0,1,0 (também tentei com 0,0,0), mas executando o atalho parecia 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 as mensagens do post da placa principal, 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 postagens no quadro principal, etc) pressionando qualquer tecla no teclado.


3





Você pode iniciar as opções de suspensão ou hibernação a partir da linha de comando conforme especificado abaixo e referenciado 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.


2



rundll32não deve ser usado para chamar SetSuspendState porque a sua assinatura não corresponde ao esperado por rundll32. Vejo: support.microsoft.com/en-us/kb/164787 e msdn.microsoft.com/pt-pt/library/windows/desktop/… O primeiro parâmetro obtém lixo ao invés de FALSE, então ele sempre hiberna em vez de ir dormir. - SergeyT


Aquié um artigo sobre o uso da CLI para o desligamento.

A Microsoft fornece o PsTools, que fornece o encerramento da CLI junto com outras ferramentas úteis. Você pode conseguir isso Aqui.


1





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

p.s. código fonte disponível Aqui.


1



Existe alguma chance de você fornecer um link para o site real do qual obteve o arquivo? Vincular diretamente ao arquivo de download, especialmente ao usar um encurtador de URL, pode fazer com que o arquivo pareça particularmente suspeito, já que é uma tática frequentemente empregada por criadores de malware. - Mokubai♦
ok, eu atualizei o link para o site oficial. - T.Todua


Você deve primeiro desabilitar o Hibernate no Windows e depois colocar o computador Dormir Estado. Use os seguintes dois comandos:

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

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

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

0



rundll32 não se destina a chamar SetSuspendState e não deve ser usado para isso. O primeiro parâmetro obtém lixo em vez do valor correto. Por isso, sempre hiberna em vez de adormecer (se você não tiver desativado a hibernação). - SergeyT
@SergeyT Parece estar funcionando para mim (depois de desabilitar a hibernação); Você está dizendo que isso corromperá o Windows? - moondra
Isso corrompe a pilha (já que rundll32 espera uma assinatura de chamada diferente, por isso ela tira coisas da pilha que não foram colocadas lá). Isso leva a um comportamento inesperado. - imoatama
@imoatama bom encontrar ... - masterxilo


Se você tem 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.


0