Dávkový skript podmienene reštartujte aplikáciu
Spoločné udalosti systému a / alebo životného prostredia, ako je opätovné spustenie z pohotovostného režimu alebo straty sieťového pripojenia, môžu spôsobiť problémy pre určité aplikácie, ktoré očakávajú, že budú vždy zapnuté a pripojené. Takže ak máte nejakú aplikáciu, ktorá sa zrúti alebo prejde do režimu "nereaguje" trochu často a reštart je jediná oprava, máme pre vás jednoduchú opravu vo forme prispôsobiteľného dávkového skriptu, ktorý jednoducho zabije aplikáciu a reštartujte ho.
Okrem vyššie uvedenej situácie sa tento skript môže použiť aj na rôzne užitočné úlohy, ako napríklad:
- Jednoducho reštartujte aplikáciu dvojitým kliknutím alebo pomocou horúceho tlačidla.
- Reštartujte program iba vtedy, keď je zavesený alebo neodpovedá.
- Spustite ako naplánovanú úlohu, aby ste sa uistili, že aplikácia je vždy spustená.
- Kdekoľvek inde chcete automatizovať podmienené reštartovanie aplikácie.
Prispôsobenie skriptu by malo byť docela samo vysvetľujúce komentáre, takže skript správne nakonfigurujte a vy ste všetci nastavení.
Scenár
@ ECO OFF ECHO Reštart aplikácie ECHO Napísal: Jason Faulkner ECHO SysadminGeek.com ECHO. ECHO. SETLOCAL EnableExtensions REM Zadajte informácie o aplikácii. SET AppName = Názov aplikácie SET ExeFile = FileToLaunch.exe SET ExePath = C: PathToApplication REM Vyberte podmienky pre zablokovanie aplikácie. REM Hodnota 1 = Áno, 0 = Nie SET KillIfRunning = 1 SET KillIfNotResponding = 1 SET KillIfUnknownStatus = 1 REM Určiť, kedy spustiť aplikáciu: REM 1 = Štart iba vtedy, ak bol proces predtým zabitý. REM 0 = Spustite aplikáciu bez ohľadu na to. SET StartOnlyIfKilled = 1 SET KillStatus = "% TEMP% KillStatus.tmp.txt" SET Úspech = 0 ECHO Zabitie existujúcej% AppName% inštancie ... IF % KillIfRunning% == 1 CALL: CheckKillStatus "% ExeFile% "IF % KillIfNotResponding% == 1 CALL: CheckKillStatus"% ExeFile% "" NEZODPOVEDAŤ "IF % KillIfUnknownStatus% == 1 CALL: CheckKillStatus"% EXEFILE% "" UNKNOWN "ECHO. Ak % StartOnlyIfKilled% == 1 (IF % Úspešnosť% == 0 GOTO Koniec) ECHO Reštartovanie% AppName% ... START "% ExeFile%" "% ExePath %% ExeFile%" ECHO. AK% EXIST% KillStatus% DEL / F / Q% KillStatus% ENDLOCAL: CheckKillStatus ECHO Zabitie so stavom:% ~ 2 TASKKILL / FI "STATUS eq% ~ 2" / IM "% ~ 1" KillResult = < %KillStatus% FOR /F "tokens=1,* delims=:" %%A IN ("%KillResult%") DO ( ECHO %%A:%%B IF /I %%A==SUCCESS SET /A Success=%Success%+1 ) :End
záver
Zatiaľ čo nájdete aplikácie, ktoré fungujú v podstate rovnakú funkciu, pomocou jednoduchého skriptu, ako je toto, sa zabráni tomu, aby sa na pozadí spustil "ďalší program".