If-Koubou

Batch Script pentru a reporni condiționat o aplicație

Batch Script pentru a reporni condiționat o aplicație (Cum să)

Evenimentele obișnuite ale sistemului și / sau ale mediului cum ar fi reluarea din regimul de așteptare sau pierderea conexiunii la rețea pot cauza probleme pentru anumite aplicații care se așteaptă să fie mereu conectate și conectate. Deci, dacă aveți o anumită aplicație care se blochează sau merge într-un mod "nu răspunde" oarecum frecvent și o repornire este singura remediere pentru aceasta, avem o soluție simplă pentru tine, sub forma unui script personalizabil batch pentru a ucide pur și simplu aplicația și reporniți-l.

Pe lângă situația evidentă de mai sus, acest script poate fi folosit pentru o varietate de sarcini utile, cum ar fi:

  • Reporniți cu ușurință o aplicație dând dublu clic sau utilizând o tastă rapidă.
  • Reporniți un program numai atunci când acesta este agățat sau nu răspunde.
  • Rulați ca sarcină programată pentru a vă asigura că o aplicație rulează întotdeauna.
  • În orice altă parte, doriți să automatizezi reluarea condiționată a unei aplicații.

Personalizarea script-ului ar trebui să fie destul de explicativă prin comentariile dvs., așa că configurați scriptul în mod corespunzător și sunteți setați.

Scriptul

@ECHO OFF ECHO Repornirea aplicației ECHO Scris de: Jason Faulkner ECHO SysadminGeek.com ECHO. ECOU. SETLOCAL EnableExtensions REM Introduceți informațiile despre aplicație. SET AppName = Nume de aplicație SET ExeFile = FileToLaunch.exe SET ExePath = C: PathToApplication REM Selectați condițiile pentru a ucide aplicația. REM Valoarea 1 = Da, 0 = Nu SET KillIfRunning = 1 SET KillIfNotResponding = 1 SET KillIfUnknownStatus = 1 REM Specificați când să porniți aplicația: REM 1 = Porniți numai dacă procesul a fost ucis anterior. REM 0 = Porniți aplicația indiferent. SET StartOnlyIfKilled = 1 SET KillStatus = "% TEMP% KillStatus.tmp.txt" SET Succes = 0 ECHO Uciderea% cazului% AppName% existent ... IF % KillIfRunning% == 1 CALL: CheckKillStatus "% ExeFile%" RUNNING "DACĂ % KillIfNotResponding% == 1 CALL: CheckKillStatus"% ExeFile% "" NU RESPONDEAZĂ "DACĂ % KillIfUnknownStatus% == 1 CALL: CheckKillStatus"% EXEFILE% "ECHO" UNKNOWN ". Dacă % StartOnlyIfKilled% == 1 (IF % Succes% == 0 Sfârșitul GOTO) ECHO Repornire% AppName% ... START "% ExeFile%" "% ExePath %% ExeFile%" ECHO. DACĂ EXIST% KillStatus% DEL / F / Q% KillStatus% ENDLOCAL: CheckKillStatus ECHO Uciderea cu starea:% ~ 2 TASKKILL / FI "STATUS eq% ~ 2" / IM "% ~ 1" / F>% KillStatus% KillResult = <% KillStatus% FOR / F "token-uri = 1, * delims =:" %% A IN ("% KillResult%") == SUCCESS SET / A Succes =% Succes% + 1): Sfârșit 

Concluzie

În timp ce puteți găsi aplicații care funcționează în esență aceeași funcție, folosiți un script simplu, cum ar fi acest lucru, evitând funcționarea "unui alt program" în fundal.