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

Obsah:

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

Video: Dávkový skript podmíněně restartujte aplikaci
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Březen
Dávkový skript podmíněně restartujte aplikaci
Dávkový skript podmíněně restartujte aplikaci
Anonim

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 u určitých aplikací, 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 scénář a všechny jsou nastaveny.

Scénář

@ECHO OFF ECHO Restart Application ECHO Written by: Jason Faulkner ECHO SysadminGeek.com ECHO. ECHO. SETLOCAL EnableExtensions REM Enter the application information. SET AppName=Application Name SET ExeFile=FileToLaunch.exe SET ExePath=C:PathToApplication REM Select the conditions to kill the application. REM A value of 1 = Yes, 0 = No SET KillIfRunning=1 SET KillIfNotResponding=1 SET KillIfUnknownStatus=1 REM Specify when to start the application: REM 1 = Start only if the process was previous killed. REM 0 = Start the application regardless. SET StartOnlyIfKilled=1 SET KillStatus='%TEMP%KillStatus.tmp.txt' SET Success=0 ECHO Killing existing %AppName% instance… IF {%KillIfRunning%}=={1} CALL:CheckKillStatus '%ExeFile%' 'RUNNING' IF {%KillIfNotResponding%}=={1} CALL:CheckKillStatus '%ExeFile%' 'NOT RESPONDING' IF {%KillIfUnknownStatus%}=={1} CALL:CheckKillStatus '%ExeFile%' 'UNKNOWN' ECHO. IF {%StartOnlyIfKilled%}=={1} ( IF {%Success%}=={0} GOTO End ) ECHO Restarting %AppName%… START '%ExeFile%' '%ExePath%%ExeFile%' ECHO. IF EXIST %KillStatus% DEL /F /Q %KillStatus% ENDLOCAL:CheckKillStatus ECHO Killing with status: %~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

Závěr

Zatímco najdete aplikace, které mají v podstatě stejnou funkci, pomocí jednoduchého skriptu, jako je tento, se zabrání tomu, že na pozadí běží "další program".

Doporučuje: