Auto Shutdown, após dar opção de cancelamento ao usuário

2

Eu gostaria de configurar um script ou uma ferramenta em alguns computadores para desligamento automático, em um determinado momento, digamos tarde da noite, quando os usuários saíram do dia (esquecendo de desligar o computador). Ele também deve forçar um desligamento se alguns processos não responderem. No entanto, se um usuário estiver no computador usando, eu quero poder mostrar um botão Cancelar, por exemplo, 30 segundos, para que o usuário possa cancelar o desligamento, da mesma forma que o uTorrent faz.

Eu verifiquei o Daxtar Shutdown (uma boa ferramenta, mas sem agendamento, nem um recurso de construção de arquivos em lote) e o Simple Shutdown Scheduler (um bom, mas nenhuma opção de cancelamento). Eu também olhei para as principais perguntas marcadas com o desligamento neste fórum. Eu também tentei usar o script de desligamento dentro de um arquivo de lote do Windows, mas não é capaz de encontrar uma maneira de realizar um requisito de 'satisfação do usuário', que é a 'opção de poder cancelá-lo em N segundos'. Eu não tenho nenhum requisito 'remoto'. De preferência, quero poder usá-lo no Windows XP-SP3 e no Windows 7.

Qual script, arquivo de lote ou ferramenta ou um combo deles pode fazer isso?

    
por Whirl Mind 02.08.2016 / 13:03

2 respostas

1

este um tiro , eu não tenho tempo para construir um para fazer isso de outra maneira, mas isso deve ser suficiente, suponho. . .

Observe que no for /l %%N in (30 o número aqui é a quantidade de segundos a aguardar, por isso é 30 por 30 segundos.

@echo off
setlocal enableDelayedExpansion
for /l %%N in (30 -1 1) do (
  set /a "min=%%N/60, sec=%%N%%60, n-=1"
  if !sec! lss 10 set sec=0!sec!
  cls
  choice /c:CN1 /n /m "Restart in !min!:!sec! - Press N to Restart Now, or C to Cancel. " /t:1 /d:1
  if not errorlevel 3 goto :break
)
cls
echo RESTART in 0:00 - Press N to Restart Now, or C to Cancel.
:break
if errorlevel 2 (shutdown /r /t 10) else echo restart Canceled

source

    
por 02.08.2016 / 14:09
2

Acho que você encontrará este thread útil. Por favor, passe por isso e veja se alguma ajuda.

Link do thread .

Usage: shutdown [/i | /l | /s | /r | /g | /a | /p | /h | /e] [/f] [/m \computer][/t xxx][/d [p|u:]xx:yy [/c "comment"]]

...

/t xxx     Set the time-out period before shutdown to xxx seconds.
           The valid range is 0-315360000 (10 years), with a default of 30.
           If the timeout period is greater than 0, the /f parameter is
           implied.
/c "comment" Comment on the reason for the restart or shutdown.
           Maximum of 512 characters allowed.
/f         Force running applications to close without forewarning users.
           The /f parameter is implied when a value greater than 0 is
           specified for the /t parameter.

Obrigado. Deixe-me saber se alguma coisa.

    
por 02.08.2016 / 13:08