Начална » как да » Партиден скрипт за условно рестартиране на приложение

    Партиден скрипт за условно рестартиране на приложение

    Общите системни и / или екологични събития като възобновяване от режим на готовност или загуба на мрежова връзка могат да причинят проблеми за някои приложения, които очакват да бъдат винаги включени и свързани. Така че, ако имате определено приложение, което се срива или влиза в режим "не отговаря" често и рестартирането е единственото решение за него, ние имаме просто решение за вас под формата на персонализиран пакетен скрипт, който просто ще убие приложението и рестартирайте го.

    В допълнение към очевидната ситуация по-горе, този скрипт може да се използва за различни полезни задачи, като:

    • Лесно рестартирайте приложение, като щракнете двукратно или с помощта на горещ клавиш.
    • Рестартирайте програмата само когато е окачена или не отговаря.
    • Стартирайте като планирана задача, за да се уверите, че приложението винаги се изпълнява.
    • Навсякъде другаде искате да автоматизирате условното рестартиране на приложение.

    Персонализирането на скрипта трябва да бъде доста обяснително от коментарите, така че просто конфигурирайте скрипта по подходящ начин и сте готови.

    Скриптът

    @ECHO OFF ECHO Рестартирайте приложението ECHO Написано от: Джейсън Фокнър ECHO SysadminGeek.com ECHO. Хуманитарна помощ. SETLOCAL EnableExtensions REM Въведете информацията за приложението. SET AppName = Име на приложението SET ExeFile = FileToLaunch.exe SET ExePath = C: PathToApplication REM Изберете условията за убиване на приложението. REM Стойност 1 = Да, 0 = Не SET KillIfRunning = 1 SET KillIfNotResponding = 1 SET KillIfUnknownStatus = 1 REM Посочете кога да стартирате приложението: REM 1 = Старт само ако предишният процес е бил убит. REM 0 = Стартирайте приложението независимо. SET StartOnlyIfKilled = 1 SET KillStatus = "% TEMP% KillStatus.tmp.txt" SET успех = 0 ECHO убиване на съществуващ% AppName% instance… IF % KillIfRunning% == 1 CALL: CheckKillStatus "% ExeFile%" "RUNNING "Ако % KillIfNotResponding% == 1 CALL: CheckKillStatus"% ExeFile% "" NOT RESPONDING "Ако: % KillIfUnknownStatus% == 1 CALL: Потвърждаване на%" ExeFile% "" UNKNOWN "ECHO. АКО % StartOnlyIfKilled% == 1 (АКО % Success% == 0 GOTO Край) ECHO Рестартиране на% AppName% ... START "% ExeFile%" "% ExePath %% ExeFile%" ECHO. IF EXIST% KillStatus% DEL / F / Q% KillStatus% ENDLOCAL: CheckKillStatus ECHO убиване със статус:% ~ 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 

    заключение

    Макар че можете да намерите приложения, които изпълняват по същество една и съща функция, като използвате прост скрипт като този, избягвате да имате още една програма във фонов режим..