Planifier un arrêt ou redémarrage de Windows
Sommaire
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%
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.