Bekleme modundan devam etme veya ağ bağlantısını kaybetme gibi yaygın sistem ve / veya çevresel olaylar, her zaman açık ve bağlı olması beklenen belirli uygulamalarda sorunlara neden olabilir. Dolayısıyla, sık sık çöken veya "yanıt vermiyor" moduna giren belirli bir uygulamanız varsa ve bunun için tek düzeltme yeniden başlatma ise, sizin için, uygulamayı sonlandırmak için özelleştirilebilir bir toplu komut dosyası biçiminde basit bir düzeltmeye sahibiz ve yeniden başlatın.
Yukarıdaki bariz duruma ek olarak, bu komut dosyası aşağıdakiler gibi çeşitli yararlı görevler için kullanılabilir:
- Bir uygulamayı çift tıklayarak veya bir kısayol tuşu kullanarak kolayca yeniden başlatın.
- Bir programı yalnızca kilitlendiğinde veya yanıt vermediğinde yeniden başlatın.
- Bir uygulamanın her zaman çalıştığından emin olmak için zamanlanmış bir görev olarak çalıştırın.
- Bir uygulamanın koşullu yeniden başlatılmasını otomatikleştirmek istediğiniz başka herhangi bir yerde.
Komut dosyasını özelleştirmek, açıklamalar tarafından oldukça açıklayıcı olmalıdır, bu nedenle komut dosyasını uygun şekilde yapılandırın ve artık hazırsınız.
Senaryo
@EKO KAPALI
ECHO Uygulamayı Yeniden Başlat
ECHO Yazan: Jason Faulkner
ECHO SysadminGeek.com
EKO.
EKO.
SETLOCAL EnableExtensions
REM Uygulama bilgilerini girin.
SET AppName = Uygulama Adı
SET ExeFile = FileToLaunch.exe
SET ExePath = C: PathToApplication
REM Uygulamayı sonlandırmak için koşulları seçin.
REM 1 değeri = Evet, 0 = Hayır
SET KillIfRunning = 1
SET KillIfNotResponding = 1
SET KillIfUnknownStatus = 1
REM Uygulamanın ne zaman başlatılacağını belirtin:
REM 1 = Yalnızca işlem daha önce öldürülmüşse başla.
REM 0 = Uygulamayı ne olursa olsun başlat.
SET StartOnlyIfKilled = 1
SET KillStatus = "% TEMP% KillStatus.tmp.txt"
SET Success = 0
ECHO Mevcut% AppName% örneği öldürülüyor ...
IF {%KillIfRunning%} == {1} CALL: CheckKillStatus "% ExeFile%" "ÇALIŞIYOR"
IF {%KillIfNotResponding%} == {1} CALL: CheckKillStatus "% ExeFile%" "YANIT VERMİYOR"
IF {%KillIfUnknownStatus%} == {1} ÇAĞRI: CheckKillStatus "% ExeFile%" "BİLİNMİYOR"
EKO.
{%StartOnlyIfKilled%} == {1} (
{%Success%} == {0} GOTO End
)
ECHO% AppName% yeniden başlatılıyor ...
START "% ExeFile%" "% ExePath %% ExeFile%"
EKO.
VARSA% KillStatus% DEL / F / Q% KillStatus%
ENDLOCAL
: CheckKillStatus
ECHO Şu durumla Öldürme:% ~ 2
TASKKILL / FI "STATUS eq% ~ 2" / IM "% ~ 1" / F>% KillStatus%
SET / P KillResult = <% KillStatus%
FOR / F "jetonları = 1, * delims =:" %% A IN ("% KillResult%") DO (
ECHO %% A: %% B
IF / I {%%A} == {SUCCESS} SET / A Başarı =% Başarı% + 1
)
:Son
Sonuç
Orada temelde aynı işlevi yerine getiren uygulamalar bulabilseniz de, bunun gibi basit bir komut dosyası kullanmak, arka planda “başka bir programın” çalışmasını önler.