5Sep

Script Batch pour redémarrer conditionnellement une application

click fraud protection

Les événements système et / ou environnementaux communs, tels que la reprise d'une connexion réseau en veille ou la perte d'une connexion réseau, peuvent provoquer des problèmes pour certaines applications qui doivent être toujours activées et connectées. Donc, si vous avez une certaine application qui plante ou passe en mode "ne répond pas" assez fréquemment et qu'un redémarrage est le seul correctif, nous avons une solution simple pour vous sous la forme d'un script batch personnalisable pour simplement tuer l'application etredémarrez-le.

En plus de la situation évidente ci-dessus, ce script peut être utilisé pour une variété de tâches utiles, telles que:

  • Redémarrez facilement une application en double-cliquant ou en utilisant un raccourci clavier.
  • Redémarre un programme uniquement lorsqu'il est bloqué ou qu'il ne répond pas.
  • Exécuter en tant que tâche planifiée pour s'assurer qu'une application est toujours en cours d'exécution.
  • Partout ailleurs, vous voulez automatiser le redémarrage conditionnel d'une application.
instagram viewer

La personnalisation du script devrait être assez explicite par les commentaires, il suffit donc de configurer le script de manière appropriée et vous êtes tous ensemble.

Le script

@ECHO OFF ECHO Redémarrer l'application ECHO Rédigé par: Jason Faulkner ECHO SysadminGeek.com ECHO.ÉCHO.SETLOCAL EnableExtensions REM Entrez les informations sur l'application. SET AppName = Nom de l'application SET ExeFile = FileToLaunch.exe SET ExePath = C: PathToApplication REM Sélectionnez les conditions de suppression de l'application. REM Une valeur de 1 = Oui, 0 = Non SET KillIfRunning = 1 SET KillIfNotResponding = 1 SET KillIfUnknownStatus = 1 REM Spécifiez quand démarrer l'application: REM 1 = Démarrage uniquement si le processus a été précédemment mis à mort. REM 0 = Démarrer l'application indépendamment. SET StartOnlyIfKilled = 1 ENSEMBLE KillStatus = "% TEMP% KillStatus.tmp.txt" SET Succès = 0 ECHO Killing existant% AppName% instance. .. SI{ % KillIfRunning%} =={ 1} CALL: CheckKillStatus "% ExeFile%""RUNNING" SI{ % KillIfNotResponding%} =={ 1} CALL: CheckKillStatus "% ExeFile%" "NON RÉPONDANT" SI{ % KillIfUnknownStatus%} =={ 1} CALL: CheckKillStatus "% ExeFile%" "INCONNU" ECHO.SI{ % StartOnlyIfKilled%} =={ 1}( IF{ % succès%} =={ 0} Fin GOTO) ECHO Redémarrage% AppName%. .. START "% ExeFile%" "% ExePath %% ExeFile%" ECHO.IF EXIST% KillStatus% DEL / F / Q% KillStatus% ENDLOCAL: CheckKillStatus ECHO Assassinat avec statut:% ~ 2 TASKKILL / FI "ETAT% 2" / IM "% ~ 1" / F & gt;% KillStatus% SET / P KillResult = & lt;% KillStatus% FOR / F "jetons = 1, * delims =:" %% A IN( "% KillResult%") DO( ÉCHO %% A: %% B IF / I{ %% A} =={ RÉUSSITE}SET / A Succès =% Succès% + 1): Fin

Conclusion

Alors que vous pouvez trouver des applications qui exécutent essentiellement la même fonction, utiliser un script simple comme celui-ci évite d'avoir "encore un autre programme" en arrière-plan.