Batch-script om een toepassing voorwaardelijk opnieuw te starten
Veel voorkomende systeem- en / of omgevingsgebeurtenissen zoals het hervatten van de stand-bymodus of het verliezen van een netwerkverbinding kunnen problemen veroorzaken voor bepaalde toepassingen die naar verwachting altijd aan en aangesloten zijn. Dus als je een bepaalde applicatie hebt die crasht of in de "niet-reagerende" modus komt, en een herstart is de enige oplossing daarvoor, dan hebben we een eenvoudige oplossing voor jou in de vorm van een aanpasbaar batch-script om de applicatie simpelweg te doden en herstart hem.
In aanvulling op de voor de hand liggende situatie hierboven, kan dit script worden gebruikt voor een verscheidenheid aan nuttige taken, zoals:
- Start een applicatie eenvoudig opnieuw door te dubbelklikken of met behulp van een sneltoets.
- Start een programma alleen opnieuw wanneer het is opgehangen of niet reageert.
- Uitvoeren als een geplande taak om ervoor te zorgen dat een toepassing altijd actief is.
- Overal waar u de voorwaardelijke herstart van een toepassing wilt automatiseren.
Het aanpassen van het script zou vrij duidelijk moeten zijn voor de opmerkingen, dus configureer het script op de juiste manier en u bent er helemaal klaar voor.
Het script
@ECHO OFF ECHO Start toepassing opnieuw ECHO Geschreven door: Jason Faulkner ECHO SysadminGeek.com ECHO. ECHO. SETLOCAL EnableExtensions REM Voer de applicatie-informatie in. SET AppName = Applicatie naam SET ExeFile = FileToLaunch.exe SET ExePath = C: PathToApplication REM Selecteer de voorwaarden om de applicatie te doden. REM A-waarde van 1 = Ja, 0 = Geen SET KillIfRunning = 1 SET KillIfNotResponding = 1 SET KillIfUnknownStatus = 1 REM Geef op wanneer de toepassing moet worden gestart: REM 1 = Start alleen als het proces eerder is gedood. REM 0 = Start de applicatie ongeacht. 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% "" NIET REAGEREN "ALS % KillIfUnknownStatus% == 1 OPROEP: CheckKillStatus"% ExeFile% "" UNKNOWN "ECHO. IF % StartOnlyIfKilled% == 1 (ALS % Success% == 0 GOTO End) ECHO Opnieuw opstarten% AppName% ... START "% ExeFile%" "% ExePath %% ExeFile%" ECHO. IF EXIST% KillStatus% DEL / F / Q% KillStatus% ENDLOCAL: CheckKillStatus ECHO Killing met 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
Conclusie
Terwijl u applicaties kunt vinden die in principe dezelfde functie uitvoeren, voorkomt het gebruik van een eenvoudig script zoals dit dat "nog een ander programma" op de achtergrond wordt uitgevoerd.