5Sep
Bekleme durumuna geri dönme veya ağ bağlantısını kaybetme gibi ortak sistem ve / veya çevresel olaylar, her zaman açık ve bağlı olması beklenen bazı uygulamalar için sorunlara neden olabilir. Dolayısıyla çöker veya "yanıt vermiyor" moduna biraz sık giren ve bunun için tek bir düzeltme olan bir yeniden başlatma özelliğine sahip belirli bir uygulamanız varsa, sizin için uygulamanızı ve uygulamayı öldürmek için özelleştirilebilir bir toplu komut dosyası biçiminde basit bir düzeltme sahibiz.yeniden başlatın.
Yukarıdaki bariz duruma ek olarak, bu komut aşağıdakiler gibi çeşitli yararlı görevler için kullanılabilir:
- Kolayca bir uygulamayı, bir kısayol tuşunu çift tıklatarak veya kullanarak yeniden başlatabilirsiniz.
- Bir programı yalnızca askıda bırakıldığında veya yanıt vermediğinde yeniden başlatın.
- Bir uygulamanın her zaman çalışmakta olduğundan emin olmak için zamanlanmış bir görev olarak çalıştırın.
- Başka bir yerde, bir uygulamanın koşullu yeniden başlatılmasını otomatikleştirmek istiyorsunuz.
Komut dosyasını özelleştirme, yorumlar tarafından oldukça açıklayıcı olmalı, bu nedenle komut dosyasını uygun bir şekilde yapılandırın ve hepsi hazırdır.
Senaryo
@ECHO OFF ECHO Uygulamayı Yeniden Başlatın ECHO Yazan: Jason Faulkner ECHO SysadminGeek.com ECHO.EKO.SETLOCAL EnableExtensions REM Uygulama bilgilerini girin. SET AppName = Uygulama Adı SET ExeFile = FileToLaunch.exe Set ExePath = C: PathToApplication REM Uygulamayı öldürmek için koşulları seçin. REM 1 = Evet, 0 = Hayır SET KillIfRunning = 1 KillIfNotResponding = 1 SET KillIfUnknownStatus = 1 REM Uygulamanın ne zaman başlatılacağını belirtin: REM 1 = Yalnızca işlem önceden öldürüldüyse başla. REM 0 = Uygulamayı bağımsız olarak başlatın. SET StartOnlyIfKilled = 1 SET KillStatus = "% TEMP% KillStatus.tmp.txt" SET Başarı = 0 ECHO% AppName% örneğini öldürüyor. .. IF{ % KillIfRunning%} =={ 1} ÇAĞRI: CheckKillStatus "% ExeFile%""{% KillIfUnknownStatus%} =={ 1} ÇAĞRI: CheckKillStatus"% ExeFile% "" BİLİNMİYOR "ECHO:" KONTROL ETMİYOR "% COUNTER:"% EXEFIL% ".ECHO% AppName%. .. Başlatılıyor "% ExeFile%" "% ExePath %% ExeFile%" ECHO:%{ % Başarı%} =={ 0} GOTO Bitir){ % StartOnlyIfKilled%} =={ 1} ECHO.IF EXIST% KillStatus% DEL / F / Q% KillStatus% ENDLOCAL: CheckKillStatus ECHO Durum ile öldürme:% ~ 2 TASKKILL / FI "STATUS eq% ~ 2" / IM "% ~ 1" / F>% KillStatus% SET / P KillResult = & lt;% KillStatus% FOR / F "tokens = 1, * delims =:" %% A IN( "% KillResult%") DO( ECHO %% A: %% B IF / I{ %% A} =={ SUCCESS}SET / A Başarı =% Başarı% + 1): EndSonuç
Temelde aynı işi yapan uygulamaları bulabilirsiniz ancak bu gibi basit bir komut dosyası kullanarak, "başka bir programın" arka planda çalışmasını önler.