Yleiset järjestelmä- ja / tai ympäristötapahtumat, kuten palautuminen valmiustilasta tai verkkoyhteyden katkeaminen, voivat aiheuttaa ongelmia joillekin sovelluksille, jotka odottavat olevan aina päällä ja yhteydessä. Joten jos sinulla on tietty sovellus, joka kaatuu tai siirtyy "ei vastaa" -tilaan jonkin verran ja uudelleenkäynnistys on ainoa korjaus sille, meillä on sinulle yksinkertainen korjaus mukautettavan eräkomentosarjan avulla, joka yksinkertaisesti tappaa sovelluksen ja käynnistä se uudelleen.
Yllä olevan ilmeisen tilanteen lisäksi tätä komentosarjaa voidaan käyttää useisiin hyödyllisiin tehtäviin, kuten:
- Käynnistä sovellus uudelleen helposti kaksoisnapsauttamalla tai käyttämällä pikanäppäintä.
- Käynnistä ohjelma uudelleen vain, kun se on ripustettu tai ei vastaa.
- Suorita ajoitettuna tehtävänä varmistaaksesi, että sovellus on aina käynnissä.
- Missä tahansa muualla haluat automatisoida sovelluksen ehdollisen uudelleenkäynnistyksen.
Komentosarjan mukauttamisen pitäisi olla melko itsestään selviä kommenttien perusteella, joten määritä vain komentosarja asianmukaisesti ja olet valmis.
Käsikirjoitus
@ECHO POIS
ECHO Käynnistä sovellus uudelleen
ECHO Kirjoittanut: Jason Faulkner
ECHO SysadminGeek.com
KAIKU.
KAIKU.
SETLOCAL Ota käyttöön laajennukset
REM Anna sovellustiedot.
SET AppName = Sovelluksen nimi
SET ExeFile = FileToLaunch.exe
SET ExePath = C: PathToApplication
REM Valitse sovelluksen tappamisen ehdot.
REM A-arvo 1 = Kyllä, 0 = Ei
SET KillIfRunning = 1
SET KillIfNotResponding = 1
SET KillIfUnknownStatus = 1
REM Määritä milloin sovellus käynnistetään:
REM 1 = Käynnistä vain, jos prosessi on aiemmin tapettu.
REM 0 = Käynnistä sovellus riippumatta.
SET StartOnlyIfKilled = 1
SET KillStatus = "% TEMP% KillStatus.tmp.txt"
SET Menestys = 0
ECHO Tappaa nykyisen% AppName% -esiintymän ...
JOS {%KillIfRunning%} == {1} KUTSU: CheckKillStatus "% ExeFile%" "RUNNING"
JOS {%KillIfNotResponding%} == {1} KUTSU: CheckKillStatus "% ExeFile%" "EI VASTAA"
JOS {%KillIfUnknownStatus%} == {1} KUTSU: CheckKillStatus "% ExeFile%" "Tuntematon"
KAIKU.
JOS {%StartOnlyIfKilled%} == {1} (
JOS {%Success%} == {0} GOTO Loppu
)
ECHO käynnistää sovelluksen% AppName% uudelleen ...
KÄYNNISTÄ "% ExeFile%" "% ExePath %% ExeFile%"
KAIKU.
JOS OLOSSA% KillStatus% DEL / F / Q% KillStatus%
ENDLOCAL
: CheckKillStatus
ECHO-tappaminen tilalla:% ~ 2
TASKKILL / FI "STATUS eq% ~ 2" / IM "% ~ 1" / F>% KillStatus%
SET / P KillResult = <% KillStatus%
FOR / F "-merkit = 1, * erottaa =:" %% A IN ("% KillResult%") DO (
ECHO %% A: %% B
IF / I {%%A} == {SUCCESS} SET / A Menestys =% Menestys% + 1
)
: Loppu
Johtopäätös
Vaikka löydät täältä sovelluksia, jotka suorittavat periaatteessa saman toiminnon, tämänkaltaisen yksinkertaisen komentosarjan avulla vältetään taustalla olevan "toisen ohjelman" suorittaminen.