Hibernar o computador com um tempo limite da linha de comando no Windows 7

63

Estou tentando hibernar meu computador a partir do comando Eu estava usando shutdown /s /t 20para desligar o computador. Altero / s para / h para hibernar e agora retorna o texto de uso como se não reconhecesse o que inseri. Neste é dizer

/h         Hibernate the local computer.

Há algo mais que eu precise usar com / h para hibernar?

A Jackson
fonte
Mas neste caso (o caso que você usa waitfor ou algo parecido) você não pode abortar a hibernação agendada ....

Respostas:

76

Infelizmente, não acredito que você possa definir um horário para a hibernação.

Experimentar:

ping -n 20 127.0.0.1 > NUL 2>&1 && shutdown /h /f

O pingé uma forma hackish de retardar a ação. -n 20deve esperar 20 segundos.

(o dobro &&permitirá que você faça um Ctrl+ Cpara cancelar a operação, mas se você usar um simples &, pressionar Ctrl+ Csó interromperá o temporizador e continuará sendo desligado)

Phoshi
fonte
haha, +1 por essa boa substituição "sleep" :) eu escrevi meu próprio .exe para fazer isso, mas .. hehahahahr.
akira
6
Por que não podemos definir tempo para o hibernar? não seria difícil para os desenvolvedores do Windows permitir esse recurso. mas por que não? Oo
Amirreza Nasiri
Bom, mas && não funciona no powershell
Dr. Deo
Nota: a > NUL 2>&1peça impedirá qualquer saída do ping(para obter mais informações, consulte a pergunta relacionada ).
Top-Master em
34

Você também pode considerar usar os comandos "timeout" ou "waitfor" de maneira semelhante.

timeout /t 20 /NOBREAK > NUL && shutdown /h

ou

waitfor NUL /t 20 || shutdown /h

Mais aqui: Como faço para que um arquivo em lotes aguarde / durma por alguns segundos?

Radko Dinev
fonte
11
Ambas as opções funcionam, mas a primeira é melhor . Se você deseja cancelar o comando via <kbd> Ctrl </kbd> + <kbd> C </kbd>, a primeira opção será cancelada, mas a segunda receberá um falsena primeira condição e pulará para o shutdowncomando diretamente.
IgniteCoders
10

Eu uso o seguinte:

sleep 20 && shutdown /h /f

Ou isso se eu quiser em um determinado momento:

At 22:30 shutdown /h /f
Craig
fonte
Eu tentei o comando At 22:30 shutdown /h /fno prompt do cmd, recebi uma mensagem como acesso negado, mas eu sou o administrador do meu pc. aguardando para o seu respose
Smart003
Acredito que no Windows 10 eles alteraram as permissões necessárias para usar 'at'. Destina-se apenas a trabalhos do sistema e você precisa ser uma conta SYSTEM para executá-la. Sim, o sistema tem mais privilégios que as contas de administrador (localmente) e sim, existe uma maneira de obter um prompt de comando na conta do sistema.
Thanasis Kapelonis
8

Eu acho que reclama de tempo. Basta colocar shutdown /he deve funcionar.

Josip Medved
fonte
3

Claro que você pode definir o tempo para a hibernação.

Se você realmente deseja hibernar o seu computador após um tempo específico, tudo o que você precisa fazer é inserir este comando abaixo no cmd, ou seja:

    timeout /t 36000 /nobreak & shutdown /h

Agora o computador começará a contagem regressiva de 36000 a 0 antes de hibernar. Mas observe que você pode alterar 36000 para qualquer número de segundos que mais lhe convier.

Ace Cube001
fonte
3

Se você tem o cygwin, é muito simples: sleep 45m && shutdown /h

Você pode instruir sleepem minutos, horas, segundos e até dias. Confira esta resposta sobresleep .

Dominykas Mostauskis
fonte
2

Você tentou o Agendador de tarefas do Windows? Se você possui o script, pode configurá-lo para ser executado em um determinado momento - isso deve responder à pergunta sobre atraso de tempo.

Conta
fonte
2

eu sempre uso isso:

shutdown -h

anônimo
fonte
Não importa, você não pode cronometrar uma hibernação (por algum motivo).
Synetech
@ Synetech Não seria difícil para os desenvolvedores do Windows permitir esse recurso. mas por que não? Oo
Amirreza Nasiri
1

Eu também estava procurando hibernação cronometrada por muito tempo. Por fim, fiz a seguinte solução:

Crie um batarquivo como abaixo:

timeout /t %1 /nobreak && shutdown /h

Suponha que ele seja salvo em C:\hibernate.bat

Em seguida, abra o Runcomando ( Win+R) e execute o batarquivo com o tempo limite de segundos, conforme abaixo:

C:\hibernate.bat [timeout]

user3702551
fonte
-2

Em vez de /usar -.

Use o comando abaixo no CMD como admin priv e teste

shutdown -h
Vamsi Harish
fonte