15/11/2024

Batch

Planifier un arrêt ou redémarrage de Windows

I. Présentation

Cette fiche est faite pour ceux qui trouveront agréable d'avoir un petit script permettant de programmer un arrêt ou un redémarrage de Windows sans passer par l'invite de commande et de devoir taper la commande Shutdown. Le script le fera pour vous, vous avez seulement à choisir l'action que vous souhaitez effectuer et le nombre de seconde avant qu'elle s'effectue.

Le script inclus aussi une option permettant d'annuler la planification de l'arrêt ou du redémarrage effectuée.

II. Comment créer un script Batch ?

Pour créer ce genre de script il vous suffit d'utiliser un éditeur de texte tel que le Bloc-Notes ou Notepad++ et d'enregistrer votre fichier au format Batch (Extension .bat).

III. Voici le code de ce script

@Echo off
GOTO Menu

:Menu
Echo ----------------------------------------
Echo ! Gestion de l'arret du systeme !
Echo ----------------------------------------
Echo 1 - Planifier un arret du systeme.
Echo 2 - Planifier un redemarrage du systeme.
Echo 3 - Annuler l'arret planifier.
Echo ----------------------------------------
SET /p Action=Votre Choix :

IF %Action% == 1 GOTO PlanifierArret
IF %Action% == 2 GOTO PlanifierRedemarrage
IF %Action% == 3 GOTO AnnulerPlanification
IF %Action% GTR 3 GOTO SaisieIncorrecte

:AnnulerPlanification
shutdown -a
Echo Planification Annulee
Goto FinProgramme

:PlanifierRedemarrage
Echo Info : 1 heure = 3600 secondes
SET /p Secondes= Secondes avant le redemarrage du systeme :
IF '%Secondes%' == '' GOTO PlanifierRedemarrage
shutdown -r -t %Secondes%
GOTO FinProgramme

:PlanifierArret
Echo Info : 1 heure = 3600 secondes
SET /p Secondes= Secondes avant l'arret du systeme :
IF '%Secondes%' == '' GOTO PlanifierArret
shutdown -s -f -t %Secondes%
GOTO FinProgramme

:SaisieIncorrecte
CLS
Echo ! ! ! ! ! ! Valeur saisie incorrecte ! ! ! ! ! !
GOTO Menu

:FinProgramme

 

IV. Explications des instructions

  •  @echo off : permet d'afficher seulement les résultats des commandes à l'écran.
  •  GOTO Menu : L'instruction GOTO permet "d'aller à" c'est à dire de se rendre à une partie du programme appelée Label. Dans ce cas le label où l'on veut aller s'appelle Menu.
  •  :Menu : Permet de définir un label, qui s'appelle Menu.
  •  SET /p Action= Votre choix : Permet de définir une variable nommée Action dont la valeur sera saisie par l'utilisateur. L'utilisateur verra s'afficher "Votre choix :" à l'écran et devra saisir une valeur.
  •  GTR : Opérateur de comparaison qui signifie "Plus grand que".
  •  IF.... : Toute la partie des IF permet de se placer à un endroit du programme selon ce que l'utilisateur à choisit d'exécuter. A savoir un redémarrage ou un arrêt du PC, ou d'annuler la planification qu'il a effectué.
  •  %Action% : Permet d'afficher la valeur de la variable d'environnement appelée Action.
  •  shutdown -a : Commande DOS pour annuler un arrêt planifié.
  •  shutdown -s -t xx : Commande DOS permettant d'arrêter le système au bout d'un temps xx.
  •  shutdown -r -t xx : Commande DOS permettant de redémarrer le système au bout d'un temps xx.
  •  CLS : Permet d'effacer l'écran (Clear Screen).

V. Que fait le programme ?

Lorsque l'on exécute le programme, on doit choisir l'action que l'on effectue, ensuite si le choix est correct le programme se place au label correspond à l'action et exécute les instructions, sinon l'utilisateur est averti qu'il a effectué une saisie incorrecte et doit ressaisir son choix.

Ensuite, s'il veut programmer un redémarrage ou un arrêt, l'utilisateur doit saisir le nombre de seconde avant lequel il veut que l'opération s'exécute, autrement dit il planifie un arrêt ou redémarrage du système. Si l'utilisateur appuie sur Entrée sans saisir de valeur, le programme lui redemande de ressaisir l'information grâce à un retour sur le label de l'action correspondante.

VI. Je désire seulement programmer un arrêt sans devoir faire un choix, que faire ?

Si vous souhaitez programmer un arrêt de votre ordinateur en ayant seulement les secondes à saisir, vous avez juste à créer un script avec cette partie de code :

@Echo off

SET /p Secondes= Secondes avant l'arret du systeme :
IF '%Secondes%' == '' GOTO PlanifierArret
shutdown -s -f -t %Secondes%

 

 

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

1 commentaire sur “Planifier un arrêt ou redémarrage de Windows

  • Bonjour,

    Votre tuto très intéressant, mais après un test tel quel de votre script, il semble bien ne produire aucun des résultats attendus.

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.