Я думаю, что у меня может быть решение:
В зависимости от содержимого окна сообщения, я могу помочь с этой частью - если в нем просто указан какой-то текст, с помощью кнопки «ОК» или «Да / Нет», то я могу это сделать.
Я предлагаю создать один пакетный файл, чтобы выполнить все операции, которые вы перечислили.
Таким образом, вы можете определить порядок, как вам нравится. И вы знаете, что одна задача не может быть запущена, пока другая не будет завершена.
Код для блока вопросов сильно различается, в зависимости от того, какой блок вы ищете. Сам код довольно прост и занимает всего пару строк, как только вы определились с тем, какой тип сообщения вы ищете.
Вот код для окна сообщения (надеюсь, это то, что вы ищете):
echo wscript.quit MsgBox ("Message", Number, "Title") > message.vbs
wscript //nologo message.vbs
set value=%errorlevel%
del message.vbs
if "%value%"=="1" goto :ok
if "%value%"=="2" goto :cancel
if "%value%"=="3" goto :abort
if "%value%"=="4" goto :retry
if "%value%"=="5" goto :ignore
if "%value%"=="6" goto :yes
if "%value%"=="7" goto :no
Очевидно, вы заменяете Сообщение содержимым окна сообщения, Заголовок - заголовком, а Номер - одним из чисел, приведенных ниже. Убедитесь, что вы включили кавычки, где это необходимо (где они уже находятся в коде выше).
Количество (определяет кнопки в окне сообщения):
- Если 1, то вы получите окно сообщения с OK и Отмена
- Если 2, то вы получите окно сообщения с Abort, Retry и Ignore
- Если 3, то вы получите окно сообщения с Да, Нет и Отмена
- Если 4, то вы получите сообщение с Да и Нет
- Если 5, то вы получите окно сообщения с Retry и Cancel
- Если 6 и выше, вы получите тот же результат, что и 1. (99% уверен)
Переменная %value%
дает числовое представление того, какую кнопку вы нажали. В коде, который я перечислил выше, я задокументировал каждый результат в виде фрагмента кода, который отправляется в место в пакетном скрипте под названием. Я надеюсь, что вы понимаете местоположения, определяемые следующим :example
, где example
- это название местоположения. Это означает, что там, где написано goto :ok
, в вашем пакетном скрипте есть местоположение :ok
, где для этого результата хранится соответствующий код. Конечно, вам не нужно иметь команду goto
в конце оператора if, если вы не хотите, я просто включил это, как простой способ определить, какое значение соответствует какой кнопке.
После окна сообщения в вашем пакетном скрипте у вас будет программа резервного копирования. После этого ваша команда выключения (shutdown -s я предполагаю?)
Это оно! Все, что вам нужно сделать сейчас, это сделать задачу в планировщике задач, запустить пакетный файл и вуаля! У вас должно быть окно сообщений, резервное копирование и завершение работы, выполняемые последовательно.