5Sep
Veel voorkomende systeem- en / of omgevingsgebeurtenissen zoals het terugkeren vanuit stand-by 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 de "niet-reagerende" modus een beetje vaak gebruikt en een herstart is de enige oplossing daarvoor, hebben we een eenvoudige oplossing voor je in de vorm van een aanpasbaar batch-script om de applicatie simpelweg te doden enherstart het.
Naast de voor de hand liggende situatie hierboven, kan dit script worden gebruikt voor een verscheidenheid aan nuttige taken, zoals:
- Herstel een toepassing eenvoudig door te dubbelklikken of door een sneltoets te gebruiken.
- 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 stel het script juist in en je bent helemaal klaar.
Het script
@ECHO UIT ECHO Start toepassing 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" ALS{ % KillIfNotResponding%} =={ 1} CALL: CheckKillStatus "% ExeFile%" "NIET REAGEREN" ALS{ % KillIfUnknownStatus%} =={ 1} CALL: 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 & gt;% KillStatus% SET / P KillResult = & lt;% KillStatus% FOR / F "tokens = 1, * delims =:" %% A IN( "% KillResult%") DO( ECHO %% A: %% B IF / I{ %% A} =={ SUCCESS}SET / A succes =% succes% + 1): EindeConclusie
Terwijl u toepassingen kunt vinden die in wezen dezelfde functie uitvoeren, vermijdt het gebruik van een eenvoudig script zoals dit het "op de achtergrond uitvoeren van" nog een ander programma ".