Homepage » come » Script batch per riavviare condizionatamente un'applicazione

    Script batch per riavviare condizionatamente un'applicazione

    Gli eventi comuni del sistema e / o ambientali come la ripresa dalla modalità standby o la perdita della connessione di rete possono causare problemi ad alcune applicazioni che si aspettano di essere sempre attive e connesse. Quindi, se hai una certa applicazione che si blocca o entra in modalità "non risponde" con una certa frequenza e un riavvio è l'unica soluzione per questo, abbiamo una semplice soluzione per te sotto forma di uno script batch personalizzabile per uccidere semplicemente l'applicazione e riavvialo.

    Oltre alla situazione ovvia sopra, questo script può essere utilizzato per una serie di attività utili, come ad esempio:

    • Riavvia facilmente un'applicazione facendo doppio clic o utilizzando un tasto di scelta rapida.
    • Riavvia un programma solo quando è bloccato o non risponde.
    • Esegui come operazione pianificata per assicurarti che un'applicazione sia sempre in esecuzione.
    • Ovunque si desideri automatizzare il riavvio condizionale di un'applicazione.

    La personalizzazione dello script dovrebbe essere abbastanza auto-esplicativa dai commenti, quindi basta configurare lo script in modo appropriato e tutto è pronto.

    Il copione

    @ECHO OFF ECHO Restart Application ECHO Scritto da: Jason Faulkner ECHO SysadminGeek.com ECHO. ECO. SETLOCAL EnableExtensions REM Immettere le informazioni dell'applicazione. SET AppName = Nome applicazione SET ExeFile = FileToLaunch.exe SET ExePath = C: PathToApplication REM Selezionare le condizioni per chiudere l'applicazione. REM Un valore di 1 = Sì, 0 = No SET KillIfRunning = 1 SET KillIfNotResponding = 1 SET KillIfUnknownStatus = 1 REM Specifica quando avviare l'applicazione: REM 1 = Avvia solo se il processo è stato precedentemente ucciso. REM 0 = Avvia l'applicazione indipendentemente. SET StartOnlyIfKilled = 1 SET KillStatus = "% TEMP% KillStatus.tmp.txt" SET Successo = 0 ECHO Uccisione esistente% AppName% istanza ... IF % KillIfRunning% == 1 CALL: CheckKillStatus "% ExeFile%" "RUNNING "IF % KillIfNotResponding% == 1 CALL: CheckKillStatus"% ExeFile% "" NON RISPONDE "IF % KillIfUnknownStatus% == 1 CALL: CheckKillStatus"% ExeFile% "" UNKNOWN "ECHO. IF % StartOnlyIfKilled% == 1 (IF % Success% == 0 GOTO End) ECHO Riavvio% AppName% ... START "% ExeFile%" "% ExePath %% ExeFile%" ECHO. SE ESIST.% KillStatus% DEL / F / Q% KillStatus% ENDLOCAL: CheckKillStatus ECHO Uccisione con stato:% ~ 2 TASKKILL / FI "STATUS eq% ~ 2" / IM "% ~ 1" / F>% KillStatus% SET / P KillResult = < %KillStatus% FOR /F "tokens=1,* delims=:" %%A IN ("%KillResult%") DO ( ECHO %%A:%%B IF /I %%A==SUCCESS SET /A Success=%Success%+1 ) :End 

    Conclusione

    Mentre è possibile trovare le applicazioni là fuori che svolgono fondamentalmente la stessa funzione, utilizzando uno script semplice come questo evita di avere "ancora un altro programma" in esecuzione in background.