Acho que posso ter a solução:
Dependendo do conteúdo da caixa de mensagem, talvez eu possa ajudar com essa parte dela - se ela simplesmente indicar algum texto, com um OK ou um botão Sim / Não, então posso fazer isso .
O que eu proponho é criar um arquivo de lote, para fazer todas as operações que você listou.
Dessa forma, você pode definir a ordem, como quiser. E você sabe que uma tarefa não pode ser executada até que a outra seja concluída.
O código da caixa de perguntas varia muito, dependendo do tipo de caixa que você procura. O código em si é bastante simples e apenas algumas linhas, uma vez que você tenha decidido que tipo de caixa de mensagem está procurando.
Aqui está o código para a caixa de mensagem (esperamos que seja depois disso):
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
Obviamente, você substitui a Mensagem pelo conteúdo da caixa de mensagem, pelo Título com o título e pelo Número com um dos números documentados abaixo. Certifique-se de incluir as aspas quando necessário (onde elas já estão no código acima).
Number (define os botões na caixa de mensagem):
- Se 1, você recebe uma caixa de mensagem com OK e Cancelar
- Se 2, você recebe uma caixa de mensagem com Abortar, Repetir e Ignorar
- Se 3, você recebe uma caixa de mensagem com Sim, Não e Cancelar
- Se 4, você recebe uma caixa de mensagem com Sim e Não
- Se 5, você recebe uma caixa de mensagem com Repetição e Cancelar
- Se 6 e acima, você obtém o mesmo resultado de 1. (99% de certeza)
A variável %value%
fornece uma representação numérica de qual botão você pressionou. No código que listei acima, documentei cada resultado, na forma de uma parte do código que vai para um local no script em lote, intitulado isso. Espero que você entenda os locais, definidos por :example
, em que example
é o nome do local. Isso significa que, onde diz goto :ok
, há um local chamado :ok
em seu script em lote, em que o código correspondente é armazenado para esse resultado. É claro que você não precisa ter o comando goto
no final da instrução if se você não quiser, eu apenas incluí isso, como uma maneira fácil de distinguir qual valor corresponde a qual botão.
Após a caixa de mensagem no seu script em lote, você teria seu programa de backup. Depois disso, o seu comando de desligamento (shutdown -s eu presumo?)
É isso! Tudo o que você precisa fazer agora é fazer uma tarefa no Agendador de Tarefas, executar o arquivo em lote e o Voilà! Você deve ter uma caixa de mensagem, backup e desligamento, executados consecutivamente.