Parada do aplicativo MineCraft e automação de reinicialização - Windows
Eu incluí uma solução de script em lote de duas partes. A primeira parte exigirá a configuração de um título que corresponda à string do nome do aplicativo para que os comandos do aplicativo em execução contenham esses metadados. A segunda parte usará uma combinação de appactivate para ativar as janelas de comando com os títulos de nome do aplicativo e sendes para emular os toques de teclado para fechar e reiniciar os aplicativos.
1. Script em lote (definir título)
Observação: basta adicionar uma nova linha de title "<appname>"
no mesmo script em lote que você usa atualmente, mas na linha acima dos comandos java -jar ~
executados. Você obviamente precisará substituir o valor <appname>
para ser o nome do aplicativo que precisa parar, etc.
title "BungeeCord"
java -jar -Xmx350M spigot-1.12.2.jar -o true
2. Script em lote (pare o aplicativo e reinicie-o)
Notas: Você desejará definir o valor AppName=
como o mesmo valor e caso que você usa para cada script no qual você define o title
. O valor de StopApp=
deve ser definido com o valor usado para digitar o aplicativo correlacionado , por exemplo. end
, stop
, etc.
@ECHO OFF
SET AppName=BungeeCord
SET StopApp=end
SET StopPauseSec=5
SET StartPauseSec=10
SET TempVBSFile=%temp%\~tmpSendKeysTemp.vbs
IF EXIST "%TempVBSFile%" DEL /F /Q "%TempVBSFile%"
ECHO Set WshShell = WScript.CreateObject("WScript.Shell") >>"%TempVBSFile%"
ECHO Wscript.Sleep 900 >>"%TempVBSFile%"
ECHO WshShell.AppActivate "%AppName%" >>"%TempVBSFile%"
ECHO Wscript.Sleep 900 >>"%TempVBSFile%"
ECHO WshShell.SendKeys "%StopApp%" >>"%TempVBSFile%"
ECHO Wscript.Sleep 500 >>"%TempVBSFile%"
ECHO WshShell.SendKeys "{ENTER}" >>"%TempVBSFile%"
ECHO Wscript.Sleep %StopPauseSec%000 >>"%TempVBSFile%"
ECHO WshShell.SendKeys "%%{F4}" >>"%TempVBSFile%"
CSCRIPT //nologo "%TempVBSFile%"
timeout /t %StartPauseSec%
start "" "cmd /k call BungeeStartup.bat"
EXIT /B
Agendamento
Você pode usar o Agendador de Tarefas para criar uma nova tarefa. Na guia Geral , atribua um nome aplicável ao trabalho e depois verifique tanto o Executar somente quando o usuário estiver conectado e Executar com privilégios mais altos opções strongs>.
NaguiaAcionadores,selecioneasopçõesNovoparacriarumnovoacionador.Emseguida,certifique-sedequeBeginthistask
fieldestejadefinidocomoEmumagendamentoeasopçõesSettings
estejamdefinidascomoUmavezcomosvaloresdocampoStart
comoadataemqueSeráàmeia-noiteondevocêestáagora(porexemplo,7/12/2018
)eovalordetempodefinidocomo12:00:00AMparagarantirqueelesejaexecutadonessehorárioespecífico.Agora,naseçãoAdvancedsettings
,vocêdesejagarantirqueRepeattaskevery
estejaemumvalor24horas(digite-omanualmentesenecessário)eoforadurationof
estádefinidocomoindefinidamentevaloreissoirágarantirqueeleéexpulsotodasasnoitesàs12dameia-noite.
NaguiaAções,selecioneaopçãoNovoparacriarumanovaação.Emseguida,najanelaNovaação,verifiqueseocampoAction
estádefinidocomoIniciarumprogramaeocampoProgram/script
temocaminhocompletoparaoscriptquevocêprecisaexecutareocampoStartin
temocaminhodapasta,apenasoqualresideoscriptqueseráexecutado.PressioneOKeOKnovamenteetudodeveserautomatizadoagora.
Maisrecursos
título - sendkeys
- aplicar
- cscript
- tempo limite