5Sep

Dávkový skript podmienene reštartujte aplikáciu

Spoločné systémové a / alebo environmentálne udalosti, ako je obnovenie 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 areš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á.
  • Všade inde, ktoré chcete automatizovať podmienené reštartovanie aplikácie.

Prispôsobenie skriptu by malo byť do istej miery vysvetlené komentármi, takže skript správne nakonfigurujte a všetci nastavíte.

Skript

@ECHO 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 Zvoľte 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 Success = 0 ECHO Zabitie existujúcej% AppName% inštancie. .. IF{ % KillIfRunning%} =={ 1} CALL: CheckKillStatus "% ExeFile%"RUNNING" 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" / F>% KillStatus% SET / P KillResult = & lt;% K AU( "% KillResult%") DO( ECHO %% A: %% B IF / I{ %% A} =={ SUCCESS}SET / A Úspech =% Úspech% + 1): Koniec

Záver

Aj keď nájdete aplikácie, ktoré fungujú v podstate rovnakú funkciu, pomocou jednoduchého skriptu, ako je tento, sa zabráni spusteniu "iného programu" na pozadí.