Seu comportamento sugere que o número de segundos no cronômetro está sendo contado a partir do tempo de atividade do sistema operacional em vez do tempo do sistema físico.
Para agendar um desligamento em uma hora específica, em vez de um tempo em que alguns (segundos de atividade do sistema) ficam distantes, você deve usar o Agendador de Tarefas do Windows.
Para o Windows 7 e inferior, você pode usar o comando at
para interagir com o Agendador de Tarefas ( ajuda com o comando ), mas o usuário que está executando o comando precisa de acesso administrativo ou elevação.
at 16:45 cmd /c shutdown -t 30
O qual executará o comando em um horário específico.
Ele tem as opções /delete
e id
, então você também pode excluir a tarefa agendada.
Para o Windows 8 e 10 (as versões XP e superior do Windows devem funcionar) existe o comando schtasks
.
schtasks /create /sc once /tn "Scheduled shutdown" /tr "shutdown -t 30" /st 16:45
Ou você mesmo pode criar a tarefa agendada no Agendador de Tarefas do Windows executando taskschd.msc
.