Početna » kako da » Batch skripta za uvjetno ponovno pokretanje aplikacije

    Batch skripta za uvjetno ponovno pokretanje aplikacije

    Uobičajeni događaji u sustavu i / ili okolini, kao što je vraćanje iz stanja mirovanja ili gubitak mrežne veze, mogu uzrokovati probleme za određene aplikacije koje očekuju da budu uvijek uključene i povezane. Dakle, ako imate određenu aplikaciju koja se ruši ili prelazi u "ne reagira" način često i ponovno pokretanje je jedini popravak za to, imamo jednostavan popravak za vas u obliku prilagodljiv batch skriptu jednostavno ubiti aplikaciju i ponovno ga pokrenite.

    Osim gore opisane situacije, ova skripta može se koristiti za razne korisne zadatke, kao što su:

    • Jednostavno ponovno pokrenite aplikaciju dvostrukim klikom ili pomoću vruće tipke.
    • Ponovno pokrenite program samo kada je obješen ili ne reagira.
    • Pokreni kao planirani zadatak kako biste bili sigurni da se aplikacija uvijek izvodi.
    • Bilo gdje drugdje želite automatizirati uvjetno ponovno pokretanje aplikacije.

    Prilagodba skripte trebala bi biti prilično samostalna po komentarima, tako da samo konfigurirajte skriptu na odgovarajući način i svi ste spremni.

    Skripta

    @ECHO OFF ECHO Ponovno pokreni aplikaciju ECHO Autor: Jason Faulkner ECHO SysadminGeek.com ECHO. JEKA. SETLOCAL EnableExtensions REM Unesite informacije 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 = Nema SET KillIfRunning = 1 SET KillIfNotResponding = 1 SET KillIfUnknownStatus = 1 REM Odredite kada pokrenuti aplikaciju: REM 1 = Pokreni samo ako je proces prethodno bio ubijen. REM 0 = Pokretanje aplikacije bez obzira na to. SET StartOnlyIfKilled = 1 SET KillStatus = "% TEMP% KillStatus.tmp.txt" SET uspjeh = 0 ECHO ubijanje postojećeg% AppName% instance ... IF % KillIfRunning% == 1 POZIV: CheckKillStatus "% ExeFile%" "RUNNING "IF % KillIfNotResponding% == 1 POZIV: CheckKillStatus"% ExeFile% "" NE RESPONDING "IF % KillIfUnknownStatus% == 1 POZIV: CheckKillStatus"% ExeFile% "" UNKNOWN "ECHO. AKO % StartOnlyIfKilled% == 1 (AKO % uspjeha% == 0 GOTO Kraj) ECHO Ponovno pokretanje% AppName%… START "% ExeFile%" "% ExePath %% ExeFile%" ECHO. IF EXIST% KillStatus% DEL / F / Q% KillStatus% ENDLOCAL: CheckKillStatus ECHO ubijanje sa statusom:% ~ 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 

    Zaključak

    Dok tamo možete pronaći aplikacije koje u osnovi obavljaju istu funkciju, koristeći jednostavnu skriptu kao što je ova, izbjegava se pokretanje "još jednog programa" u pozadini.