If-Koubou

Eräpaketti ehdoitta käynnistää sovelluksen uudelleen

Eräpaketti ehdoitta käynnistää sovelluksen uudelleen (Miten)

Yhteiset järjestelmä- ja / tai ympäristötapahtumat, kuten valmiustilasta jatkaminen tai verkkoyhteyden menettäminen, voivat aiheuttaa ongelmia tietyissä sovelluksissa, jotka odottavat aina olevan 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 ja Käynnistä se uudelleen.

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

  • Voit käynnistää sovelluksen uudelleen helposti kaksoisnapsauttamalla tai käyttämällä pikanäppäintä.
  • Käynnistä ohjelma uudelleen vain, 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.

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

Käsikirjoitus

@ ECO POISTA ECHO Käynnistä sovellus ECHO Kirjoittanut: Jason Faulkner ECHO SysadminGeek.com ECHO. ECHO. 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%" "RUNNING "IF % 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 Tappaminen tilassa:% ~ 2 TASKKILL / FI "STATUS eq% ~ 2" / IM "% ~ 1" / F>% KillStatus% SET / P (% ECB %% A: %% B IF / I %% A == KillResult = <% KillStatus% FOR / F "rahakkeet = 1, * delims =:" SUCCESS SET / A Menestys =% Menestys% + 1): Lopeta 

johtopäätös

Vaikka löydät sovelluksia, jotka toimivat periaatteessa saman funktion avulla, käytä yksinkertaista komentosarjaa, jolla estetään, että "vielä toinen ohjelma" toimii taustalla.