 ██╗███████╗ ██████╗ ██████╗ ███╗   ███╗ █████╗ ████████╗██╗██╗  ██╗    ██████╗ ██████╗ ███╗   ███╗
███║██╔════╝██╔═══██╗██╔══██╗████╗ ████║██╔══██╗╚══██╔══╝██║██║ ██╔╝   ██╔════╝██╔═══██╗████╗ ████║
╚██║█████╗  ██║   ██║██████╔╝██╔████╔██║███████║   ██║   ██║█████╔╝    ██║     ██║   ██║██╔████╔██║
 ██║██╔══╝  ██║   ██║██╔══██╗██║╚██╔╝██║██╔══██║   ██║   ██║██╔═██╗    ██║     ██║   ██║██║╚██╔╝██║
 ██║██║     ╚██████╔╝██║  ██║██║ ╚═╝ ██║██║  ██║   ██║   ██║██║  ██╗██╗╚██████╗╚██████╔╝██║ ╚═╝ ██║
 ╚═╝╚═╝      ╚═════╝ ╚═╝  ╚═╝╚═╝     ╚═╝╚═╝  ╚═╝   ╚═╝   ╚═╝╚═╝  ╚═╝╚═╝ ╚═════╝ ╚═════╝ ╚═╝     ╚═╝

Éteindre un PC Windows à une heure précise
https://www.1formatik.com/eteindre-windows-temps
https://www.youtube.com/watch?v=ruHSOD9p4c8

Le script suivant vous demande de saisir le nombre de minutes avant que l'ordinateur ne s'éteigne. Ensuite, le script convertit ce nombre en secondes, attend le délai spécifié avec timeout, puis éteint l'ordinateur avec la commande shutdown.

Voici le code source du script batch pour programmer l'extinction d'un PC Windows après un certain temps.

@echo off
set /p minutes= "Saisissez le nombre de minutes avant extinction du PC: "
set /a secondes=  %minutes% * 60
timeout %secondes%
shutdown -s /f

Voici une explication ligne par ligne :

@echo off désactive l'affichage des commandes dans la console lorsqu'elles sont exécutées, ce qui rend l'exécution du script plus propre en masquant les commandes elles-mêmes.
set /p minutes="Saisissez le nombre de minutes avant extinction du PC:" invite l'utilisateur à saisir le nombre de minutes avant que l'ordinateur ne s'éteigne. La valeur saisie par l'utilisateur est stockée dans la variable d'environnement nommée minutes.
set /a secondes=%minutes% * 60 convertit le nombre de minutes spécifié par l'utilisateur en secondes. La commande set /a est utilisée pour effectuer une opération arithmétique.
timeout %secondes% fait attendre le script pendant le nombre de secondes calculé précédemment. Pendant cette attente, le script ne fait rien.
shutdown -s /f éteint l'ordinateur de force une fois le délai d'attente écoulé, /f indique un arrêt forcé sans demander de confirmation.