Пакетную перезагрузку с задержкой сообщения

#batch-file

#пакетный файл

Вопрос:

Я вижу, что есть некоторые темы, связанные с моим вопросом, но чего-то не хватает, мне нужно создать пакет, который перезагружает компьютер и отправляет всплывающее сообщение; У меня есть это:

 @echo off
cd c:windowssystem32
shutdown -r -t 600 -c "Your machine you need to reboot in 5 minutes." -f 
exit
  

Однако мне нужно нечто большее, мне нужно напоминание о 2 минутах до перезагрузки компьютера, и есть способ, которым пользователь может остановить или предложить новое время перед перезагрузкой компьютера.

Ответ №1:

 @echo off
shutdown -r -t 300 -c "Your machine you need to reboot in 5 minutes."  
Echo Press any key to cancel
timeout /t 180
Echo 2 mins to go
timeout /t 9999
shutdown /a
  

Для общей справки. Введите Help в командной строке. Для каждой команды указан тип help <command> (например help dir ) или <command> /? (например dir /? ).

Ответ №2:

Вы можете попробовать что-то подобное :

 @echo off
shutdown -r -t 600 -c "Your machine you need to reboot in 5 minutes." -f 
Call :AskQuestion
exit
::***********************************************************************
:AskQuestion
(
    echo    Set Ws = CreateObject("wscript.shell"^)
    echo    wscript.sleep 180000
    echo    Answ = MsgBox("Did you want to cancel the scheduled reboot of your the computer ?"_
    echo ,VbYesNo VbQuestion,"Did you want to cancel the scheduled reboot of your the computer ?"^)
    echo    If Answ = VbYes then 
    echo        Return = Ws.Run("cmd /c Shutdown -a",0,True^)
    echo    Else
    echo        wscript.Quit(1^)
    echo    End If
)>"%tmp%%~n0.vbs"
Start "" "%tmp%%~n0.vbs"