Пакетный сценарий для условного перезапуска приложения

Оглавление:

Пакетный сценарий для условного перезапуска приложения
Пакетный сценарий для условного перезапуска приложения

Видео: Пакетный сценарий для условного перезапуска приложения

Видео: Пакетный сценарий для условного перезапуска приложения
Видео: Автозамена в Word - YouTube 2024, Май
Anonim

Общие системные и / или экологические события, такие как возобновление работы в режиме ожидания или потеря связи в сети, могут вызвать проблемы для определенных приложений, которые ожидают, что они всегда будут включены и подключены. Поэтому, если у вас есть определенное приложение, которое несколько раз сбивается или переходит в режим «не реагирования», а перезапуск является единственным исправлением для него, у нас есть простое исправление для вас в виде настраиваемого командного сценария, чтобы просто убить приложение и перезапустите его.

В дополнение к очевидной ситуации, описанной выше, этот скрипт может использоваться для множества полезных задач, таких как:

  • Легко перезагрузите приложение двойным щелчком или с помощью горячей клавиши.
  • Перезагрузите программу только тогда, когда она зависает или не отвечает.
  • Запуск в качестве запланированной задачи, чтобы убедиться, что приложение всегда работает.
  • В любом другом месте вы хотите автоматизировать условный перезапуск приложения.

Пользовательские настройки сценария должны быть очень понятны комментариям, поэтому просто настройте сценарий правильно, и вы все настроены.

Сценарий

@ECHO OFF ECHO Restart Application ECHO Written by: Jason Faulkner ECHO SysadminGeek.com ECHO. ECHO. SETLOCAL EnableExtensions REM Enter the application information. SET AppName=Application Name SET ExeFile=FileToLaunch.exe SET ExePath=C:PathToApplication REM Select the conditions to kill the application. REM A value of 1 = Yes, 0 = No SET KillIfRunning=1 SET KillIfNotResponding=1 SET KillIfUnknownStatus=1 REM Specify when to start the application: REM 1 = Start only if the process was previous killed. REM 0 = Start the application regardless. SET StartOnlyIfKilled=1 SET KillStatus='%TEMP%KillStatus.tmp.txt' SET Success=0 ECHO Killing existing %AppName% instance… IF {%KillIfRunning%}=={1} CALL:CheckKillStatus '%ExeFile%' 'RUNNING' IF {%KillIfNotResponding%}=={1} CALL:CheckKillStatus '%ExeFile%' 'NOT RESPONDING' IF {%KillIfUnknownStatus%}=={1} CALL:CheckKillStatus '%ExeFile%' 'UNKNOWN' ECHO. IF {%StartOnlyIfKilled%}=={1} ( IF {%Success%}=={0} GOTO End ) ECHO Restarting %AppName%… START '%ExeFile%' '%ExePath%%ExeFile%' ECHO. IF EXIST %KillStatus% DEL /F /Q %KillStatus% ENDLOCAL:CheckKillStatus ECHO Killing with status: %~2 TASKKILL /FI 'STATUS eq %~2' /IM '%~1' /F > %KillStatus% SET /P KillResult= < %KillStatus% FOR /F 'tokens=1,* delims=:' %%A IN ('%KillResult%') DO ( ECHO %%A:%%B IF /I {%%A}=={SUCCESS} SET /A Success=%Success%+1 ):End

Заключение

Хотя вы можете найти приложения там, которые выполняют в основном одну и ту же функцию, используя простой скрипт, такой как это позволяет избежать «еще одной программы», работающей в фоновом режиме.

Рекомендуемые: