Shutdown

Antoine -  
bricomachin Messages postés 279 Statut Membre -
Bonjour,

J'ai créé un batch permettant de programmer l'ordinateur. Il n'est pas tout à fait au point, je vais encore l'améliorer.

Pour l'instant, ça marche mais une fois l'arrêt du PC programmé, Windows ouvre une fenêtre "arrêt système" demandant de sauvegarder les travaux en cours car l'ordinateur va s'éteindre dans XXX secondes.

Comment faire pour ne pas afficher ce message ? Qu'est ce qu'il faut mettre après shutdown.exe pour ne pas afficher le message ?

Merci ;)

BATCH :

@echo off
@title Arret programmable
color 1F
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo º           Arret programmable            º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
echo Nous sommes le %date% et il est %time%.
echo.
echo Dans quelle heure voulez vous programmer l'arret automatique de l'ordinateur ?
echo.
set /p arret_heures=Indiquer l'heure :
set /p arret_minutes=Indiquer les minutes :
set /p arret_secondes=Indiquer les secondes :
echo.
echo.
set arret_total=0h00m00s
set /a arret_total=%arret_heures%*3600+%arret_minutes%*60+%arret_secondes%
echo.
echo L'ordinateur s'eteindra dans %arret_heures%H %arret_minutes%Min %arret_secondes%S
echo. Appuyer sur une touche pour valider
pause>nul
shutdown.exe -s -t %arret_total%
echo.
echo.
echo Appuyer sur une touche pour quitter.
pause>nul
exit


A voir également:

1 réponse

bricomachin Messages postés 279 Statut Membre 134
 
Salut,

Ce n'est malheureusement pas possible de fermer ou d'empêcher l'ouverture de cette fenêtre en utilisant uniquement un batch désolé.

Donc plusieurs possibilités:

- Utiliser un script autre pour fermer la fenêtre
- Ne pas le faire en batch (un peu radical)
- Ou : technique de fou provenant d'une illumination soudaine ;) :

Il suffit en fait de faire ton compte à rebourd dans un batch puis de lancer la commande shutdown -s -t 0

exemple 1:1 seul fichier mais le batch reste affiché :
... 
echo L'ordinateur s'eteindra dans %arret_heures%H %arret_minutes%Min %arret_secondes%S 
echo. Appuyer sur une touche pour valider 
pause>nul 
for /l %%a in (1,1,%arret_total%) do ( 
ping localhost -n 2 >nul 
) 
shutdown -s 
exit


exemple 2 : 2 fichiers mais disparition des fenêtres

fichier 1
...
echo L'ordinateur s'eteindra dans %arret_heures%H %arret_minutes%Min %arret_secondes%S 
echo. Appuyer sur une touche pour valider 
pause>nul 
start /min compteur.bat %arret_total% 
echo. 
echo. 
echo Appuyer sur une touche pour quitter. 
pause>nul 
exit
fichier 2
@echo off 

set temps=%1 

for /l %%a in (1,1,%temps%) do ( 
ping localhost -n 2 >nul 
) 

shutdown -s 

exit 
Lorsque je lance le fichier compteur.bat, il se lance en fenêtre réduite (/min) donc on ne le voit que dans la barre des tâches et je lui transmet un paramètre qui est le temps en secondes. Dans le deuxième fichier, je récupère ce paramètre par la variable de paramètre %1.

Voilà voilà, j'espère avoir répondu à ta question,
bonne journée,

Bricomachin
0