Звычайныя сістэмныя і / або экалагічныя падзеі, такія як аднаўленне з рэжыму чакання або страта сеткавага злучэння, могуць выклікаць праблемы для некаторых прыкладанняў, якія, як чакаецца, будуць заўсёды ўключаны і падлучаныя. Такім чынам, калі ў вас ёсць пэўнае прыкладанне, якое перастае альбо пераходзіць у рэжым "не рэагуе" некалькі разоў, і перазапуск з'яўляецца адзіным выпраўленнем для гэтага, у нас ёсць простае выпраўленне для вас у выглядзе наладжвальнага пакетнага сцэнарыя, каб проста забіць прыкладанне і перазапусціць яго.

У дадатак да відавочнай сітуацыі вышэй, гэты сцэнар можа быць выкарыстаны для мноства карысных задач, такіх як:

  • Лёгка перазапусціце прыкладанне, двойчы пстрыкнуўшы або выкарыстоўваючы гарачую клавішу. Перазапусціце праграму толькі тады, калі яна будзе вывешана альбо не адказвае. Запусціце як запланаванае заданне, каб пераканацца, што прыкладанне заўсёды працуе. У любым іншым месцы вы хочаце аўтаматызаваць ўмоўнае перазагрузку прыкладання.

Налада сцэнарыя павінна быць дастаткова тлумачальная ў каментарах, таму проста наладзьце сцэнар адпаведным чынам і ў вас усё наладжана.

Скрыпт

@ECHO OFF ECHO Перазагрузка прыкладання ECHO Аўтар: Джэйсан Фолкнер ECHO SysadminGeek.com ECHO. 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 KillIfNnResponding = 1 SET KillIfUnknownStatus = 1 REM Укажыце, калі пачаць прыкладанне: REM 1 = Запуск толькі ў тым выпадку, калі працэс быў забіты раней. REM 0 = Запусціце дадатак незалежна. SET StartOnlyIfKilled = 1 SET KillStatus = "% TEMP% KillStatus.tmp.txt" SET Success = 0 ECHO Забіваючы экземпляр% AppName% ... АБО {% KillIfRunning%} == {1} CALL: CheckKillStatus "% ExeFile%" "RUNNING" IF {% KillIfNotResponding%} == {1} CALL: CheckKillStatus "% ExeFile%" "NOT RESPONDING" IF {% KillIfUnknownStatus%} == {1} CALL: CheckKillStatus "% ExeFile%" "UNKNOWNN" АБО {% StartOnlyIfKilled%} == {1} (АБЕ {% Поспех%} == {0} GOTO End) ECHO Перазапуск% AppName% ... START "% ExeFile%" "% ExePath %% ExeFile%" ECHO. КАЛІ БЫЛО% KillStatus% DEL / F / Q% KillStatus% ENDLOCAL: CheckKillStatus ECHO Забойства са статусам:% ~ 2 TASKKILL / FI "STATUS eq% ~ 2" / IM "% ~ 1" / F>% KillStatus% SET / P KillResult = <% KillStatus% FOR / F "лексемы = 1, * delims =:" %% A IN ("% KillResult%") DO (ECHO %% A: %% B IF / I {%% A} == {УСПЕХ} SET / A Поспех =% Поспех% + 1): Канец

Выснова

У той час як вы можаце знайсці прыкладанні, якія выконваюць аднолькавую функцыю, выкарыстоўваючы просты сцэнар, які дазваляе пазбегнуць запуску "яшчэ адной праграмы" ў фонавым рэжыме.