Domovská » jak » Dávkový skript podmíněně restartujte aplikaci

    Dávkový skript podmíněně restartujte aplikaci

    Společné systémové a / nebo environmentální události, jako je obnovení z pohotovostního režimu nebo ztráta připojení k síti, mohou způsobit problémy pro určité aplikace, které očekávají, že budou vždy zapnuté a připojené. Takže pokud máte nějakou aplikaci, která selže nebo se v režimu "nereaguje" poněkud častěji a restart je jediná oprava pro ni, máme pro vás jednoduchou opravu ve formě přizpůsobitelného dávkového skriptu, který jednoduše zabije aplikaci a restartujte jej.

    Kromě výše popsané situace lze tento skript použít i pro různé užitečné úkoly, například:

    • Snadno spusťte aplikaci dvojitým kliknutím nebo pomocí horké klávesy.
    • Restartujte program pouze v případě, že je zavěšený nebo nereaguje.
    • Spusťte jako naplánovaný úkol, abyste se ujistili, že aplikace běží vždy.
    • Kdekoliv jinde chcete automatizovat podmíněné restartování aplikace.

    Přizpůsobení skriptu by mělo být docela samo vysvětlitelné pomocí komentářů, takže stačí nakonfigurovat skript a vy jste všichni nastaveni.

    Scénář

    @ECHO OFF ECHO Reštart aplikace ECHO Autor: Jason Faulkner ECHO SysadminGeek.com ECHO. ECHO. SETLOCAL EnableExtensions REM Zadejte informace o aplikaci. SET AppName = Název aplikace SET ExeFile = FileToLaunch.exe SET ExePath = C: PathToApplication REM Zvolte podmínky pro zablokování aplikace. REM Hodnota 1 = Ano, 0 = Ne SET KillIfRunning = 1 SET KillIfNotResponding = 1 SET KillIfUnknownStatus = 1 REM Zadejte, kdy spustit aplikaci: REM 1 = Spustit pouze v případě, že byl proces dříve zabit. REM 0 = Spusťte aplikaci bez ohledu na to. SET StartOnlyIfKilled = 1 SET KillStatus = "% TEMP% KillStatus.tmp.txt" SET Úspěch = 0 ECHO Zabití stávajícího% AppName% instance ... IF % KillIfRunning% == 1 CALL: CheckKillStatus "% ExeFile% "Pokud % KillIfNotResponding% == 1 CALL: CheckKillStatus"% ExeFile% "" NEODPOVÍDÁ "IF % KillIfUnknownStatus% == 1 CALL: CheckKillStatus"% ExeFile% "" UNKNOWN "ECHO. Pokud % StartOnlyIfKilled% == 1 (IF % Úspěšnost% == 0 GOTO konec) ECHO Restartování% AppName% ... START "% ExeFile%" "% ExePath %% ExeFile%" ECHO. Pokud existuje% KillStatus% DEL / F / Q% KillStatus% ENDLOCAL: CheckKillStatus ECHO Zabití se stavem:% ~ 2 TASKKILL / FI "Stav 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 

    Závěr

    Zatímco můžete nalézt aplikace, které mají v podstatě stejnou funkci, pomocí jednoduchého skriptu, jako je tento, se zabrání tomu, aby byl na pozadí spuštěn "další program".