5Sep

Eräpaketti ehdoitta käynnistää sovelluksen uudelleen

Yhteiset järjestelmät ja / tai ympäristötapahtumat, kuten valmiustilasta jatkaminen tai verkkoyhteyden menettäminen, voivat aiheuttaa ongelmia tietyissä sovelluksissa, jotka odottavat olevan aina kytkettynä ja kytkettyinä.Joten jos sinulla on tietty sovellus, joka kaatuu tai menee "ei vastaamaan" -tilaan jonkin verran ja uudelleenkäynnistys on ainoa korjaus siihen, meillä on yksinkertainen korjaus sinulle muokattavissa olevan komentosarjan avulla, joka yksinkertaisesti tappaa sovelluksen jaKäynnistä se uudelleen.

Edellä kuvatun ilmeisen tilanteen lisäksi tätä skriptiä voidaan käyttää monenlaisiin hyödyllisiin tehtäviin, kuten:

  • Voit helposti käynnistää sovelluksen kaksoisnapsauttamalla tai käyttämällä pikanäppäintä.
  • Käynnistä ohjelma uudelleen vasta, kun se on ripustettu tai ei vastaa.
  • Suorita ajoitettu tehtävä varmistaaksesi, että sovellus on aina käynnissä.
  • Missä tahansa muualla haluat automatisoida sovelluksen ehdollisen uudelleenkäynnistyksen.

Käsikirjoituksen mukauttaminen pitäisi olla melko itsestään selittävä kommenttien avulla, joten määritä käsikirjoitus asianmukaisesti ja olette kaikki asetetut.

Script

@ ECO POIS POISTA ECHO Käynnistä sovellus ECHO Kirjoittanut: Jason Faulkner ECHO SysadminGeek.com ECHO.KAIKU.SETLOCAL EnableExtensions REM Syötä sovellustiedot. SET AppName = Sovelluksen nimi SET ExeFile = FileToLaunch.exe SET ExePath = C: PathToApplication REM Valitse sovelluksen lopettamisolosuhteet. REM Arvo 1 = Kyllä, 0 = Ei SET KillIfRunning = 1 SET KillIfNotResponding = 1 SET KillIfUnknownStatus = 1 REM Määritä, milloin käynnistää sovelluksen: REM 1 = Aloita vain, jos prosessi on aikaisemmin tapettu. REM 0 = Aloita sovellus riippumatta. SET StartOnlyIfKilled = 1 SET KillStatus = "% TEMP% KillStatus.tmp.txt" SET menestys = 0 ECHO Tappaminen nykyinen% AppName% instanssi. .. IF{ % KillIfRunning%} =={ 1} CALL: CheckKillStatus "% ExeFile%"%{ % KillIfNotResponding%} =={ 1} CALL: CheckKillStatus "% ExeFile%" "EI VASTAA" IF{ % KillIfUnknownStatus%} =={ 1} CALL: CheckKillStatus "% ExeFile%" "UNKNOWN" ECHO.Jos{ % StartOnlyIfKilled%} =={ 1}( IF{ % Success%} =={ 0} GOTO End) ECHO Käynnistää% AppName%. .. START "% ExeFile%" "% ExePath %% ExeFile%" ECHO.JOS OLET% KillStatus% DEL / F / Q% KillStatus% ENDLOCAL: CheckKillStatus ECHO Killing tilassa:% ~ 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 "SET / A Menestys =% Menestys% + 1): Lopeta

Johtopäätös

Kun löydät sovelluksia, jotka toimivat periaatteessa saman funktion avulla, käyttämällä yksinkertaista komentosarjaa, niin tämä estää "vielä toisen ohjelman" käynnissä taustalla.