A kötegelt szkript feltételes újraindításához alkalmazást

Tartalomjegyzék:

A kötegelt szkript feltételes újraindításához alkalmazást
A kötegelt szkript feltételes újraindításához alkalmazást
Anonim

A gyakori rendszer és / vagy környezeti események, például a készenléti állapotból való visszatérés vagy a hálózati kapcsolat elvesztése problémákat okozhat bizonyos alkalmazások esetén, amelyek várhatóan mindig bekapcsolnak és csatlakoztatva vannak. Tehát ha van olyan alkalmazásod, amely valamivel gyakoribbá válik a "nem válaszol" üzemmódban, és az újraindítás az egyetlen javítás, akkor egyszerű javításra van szükségünk egy testreszabható kötegelt script formájában, amely egyszerűen megöli az alkalmazást és indítsa újra.

A fent leírt nyilvánvaló helyzeten túl a szkript számos hasznos feladathoz használható, mint például:

  • Egyszerűen indítsa újra az alkalmazást kettős kattintással vagy gyorsbillentyű használatával.
  • Indítsa újra a programot csak akkor, ha lógott, vagy nem válaszolt.
  • Futtatás ütemezett feladatként annak biztosítására, hogy az alkalmazás mindig fut.
  • Bárhol máshol szeretné automatizálni az alkalmazás feltételes újraindítását.

A szkript testreszabásának eléggé meg kell magyaráznia a megjegyzéseket, ezért csak helyesen állítsa be a szkriptet, és mindenki beállítva van.

A script

@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

Következtetés

Miközben olyan alkalmazások találhatók, amelyek alapvetően ugyanazt a funkciót végzik, egyszerű szkript használatával elkerülhető, hogy a háttérben futó "még egy program" legyen.

Ajánlott: