Script batch per riavviare condizionatamente un'applicazione

Sommario:

Script batch per riavviare condizionatamente un'applicazione
Script batch per riavviare condizionatamente un'applicazione

Video: Script batch per riavviare condizionatamente un'applicazione

Video: Script batch per riavviare condizionatamente un'applicazione
Video: Tutorial - Word 2016 - Le tabulazioni - YouTube 2024, Maggio
Anonim

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 va in crash 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 Written by: Jason Faulkner ECHO SysadminGeek.com ECHO. ECHO. SETLOCAL EnableExtensions REM Enter the application information. SET AppName=Application Name SET ExeFile=FileToLaunch.exe SET ExePath=C:PathToApplication REM Select the conditions to kill the application. REM A value of 1 = Yes, 0 = No SET KillIfRunning=1 SET KillIfNotResponding=1 SET KillIfUnknownStatus=1 REM Specify when to start the application: REM 1 = Start only if the process was previous killed. REM 0 = Start the application regardless. SET StartOnlyIfKilled=1 SET KillStatus='%TEMP%KillStatus.tmp.txt' SET Success=0 ECHO Killing existing %AppName% instance… IF {%KillIfRunning%}=={1} CALL:CheckKillStatus '%ExeFile%' 'RUNNING' IF {%KillIfNotResponding%}=={1} CALL:CheckKillStatus '%ExeFile%' 'NOT RESPONDING' IF {%KillIfUnknownStatus%}=={1} CALL:CheckKillStatus '%ExeFile%' 'UNKNOWN' ECHO. IF {%StartOnlyIfKilled%}=={1} ( IF {%Success%}=={0} GOTO End ) ECHO Restarting %AppName%… START '%ExeFile%' '%ExePath%%ExeFile%' ECHO. IF EXIST %KillStatus% DEL /F /Q %KillStatus% ENDLOCAL:CheckKillStatus ECHO Killing with status: %~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 eseguono fondamentalmente la stessa funzione, l'utilizzo di uno script semplice come questo evita di avere "un altro programma" in esecuzione in background.

Consigliato: