5Sep

Batch skripta za uvjetno ponovno pokretanje aplikacije

click fraud protection

Zajednički događaji u sustavu i / ili okolini kao što su vraćanje iz stanja čekanja ili gubitak mrežne veze mogu uzrokovati probleme za određene aplikacije koje očekuju da će uvijek biti uključeni i povezani. Dakle, ako imate određenu aplikaciju koja se nešto češće srušila ili ušla u način "ne reagira", a samo je ponovno pokretanje, za vas imamo jednostavan popravak u obliku prilagodive skupno pismo za jednostavno ubijanje aplikacije iponovno ga pokrenite.

Osim očite situacije iznad, ova skripta može se koristiti za različite korisne zadatke, kao što su:

  • Jednostavno ponovno pokretanje aplikacije dvostrukim klikom ili korištenjem vruće tipke.
  • Ponovno pokrenite program samo kad je obješen ili ne reagira.
  • Pokrenite kao zakazani zadatak kako biste bili sigurni da aplikacija uvijek radi.
  • Bilo gdje drugdje želite automatizirati uvjetno ponovno pokretanje aplikacije.

Prilagođavanje skripte trebalo bi biti prilično jasno po komentarima, pa samo podešavajte skriptu na odgovarajući način i svi ste postavljeni.

instagram viewer

Skripta

@ECHO OFF ECHO Ponovno pokretanje aplikacije ECHO Napisao: Jason Faulkner ECHO SysadminGeek.com ECHO.JEKA.SETLOCAL EnableExtensions REM Unesite podatke o aplikaciji. SET AppName = Naziv aplikacije SET ExeFile = FileToLaunch.exe SET ExePath = C: PathToApplication REM Odaberite uvjete za ubijanje aplikacije. REM Vrijednost 1 = Da, 0 = Ne SET KillIfRunning = 1 SET KillIfNotResponding = 1 SET KillIfUnknownStatus = 1 REM Odredite kada započeti aplikaciju: REM 1 = Pokreni samo ako je proces prethodno bio ubijen. REM 0 = Pokreni aplikaciju bez obzira. SET StartOnlyIfKilled = 1 SET KillStatus = "% TEMP% KillStatus.tmp.txt" SET uspjeh = 0 ECHO Ubijanje postojećih% AppName% instanca. .. IF{ % KillIfRunning%} =={ 1} CALL: CheckKillStatus "% ExeFile%""RUNNING" IF{ % KillIfNotResponding%} =={ 1} UPIT: CheckKillStatus "% ExeFile%" "NE ODGOVARAJUĆI" IF{ % KillIfUnknownStatus%} =={ 1} UPIT: CheckKillStatus "% ExeFile%" "UNKNOWN" ECHO.Ako{ % StartOnlyIfKilled%} =={ 1}( IF{ % Success%} =={ 0} GOTO End) ECHO Ponovno pokretanje% AppName%. .. START "% ExeFile%" "% ExePath %% ExeFile%" ECHO.Ako postoji% KillStatus% DEL / F / Q% KillStatus% ENDLOCAL: CheckKillStatus ECHO Ubijanje sa statusom:% ~ 2 TASKKILL / FI "STATUS eq% ~ 2" / IM "% ~ 1" / F & gt;% KillStatus% SET / P KillResult = & lt;(% ECB %% A: %% B IF / I{ %% A} =={ SUCCESS}% KillStatus% FOR / F "Dok postoje aplikacije koje izvode u osnovi istu funkciju, pomoću jednostavne skripte kao što je to izbjegava se "još jedan program" koji se izvodi u pozadini.