Bonjour,
J'ai d'abord créé un batch de fermeture de W7, qui s'occupe de réaliser certaines actions avant la fermeture définitive du système :
Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 @echo off if not exist "cmd\vars.cmd" call cmd\messages.cmd "install_needed" && exit call cmd\vars.cmd rem : Le fichier qui contient les chemins. Généré par _install.cmd. :Confirm call cmd\messages.cmd "3" set choice= set /p "choice=" if "%choice%" neq "" if "%choice%" neq "n" call cmd\messages.cmd "0" REM : Message d'erreur si on tape n'importe quoi ! if "%choice%" == "" goto :Proceed if "%choice%" == "n" exit :Proceed :: Avant tout on sauve la session (désactivé car LBKClose.bat le fait) : rem call cmd\lire_un_fichier_ini_et_tester_des_processus_puis_lister.cmd "%Inifile%" "[OPEN]" "[KILL]" "%Reopendat%" :: Si mon disque truecrypt est monté, on le démonte (pour éviter d'occasionner des secteurs défectueux). if exist "X:\*" start "" "D:\Local\Raccourcis\System\1TB unmount.lnk" :: Fermeture de la LBK et ses applis. call LBKClose.bat shutdown -s -t 3
Ce batch a fonctionné une fois ou deux, puis il a commencé à déconner sans raison.
Le message de confirmation (:Confirm) réapparaissait après l'étape ":: Fermeture de la LBK et ses applis", alors que l'ordinateur devait s'éteindre.
Après avoir failli devenir fou en épluchant messages.cmd que je suspectais d'être la cause de cette boucle indésirable, j'ai lorgné du côté de LBKClose.bat qui aurait pu mal "repasser la main" au batch appelant. Mais rien, nada.
J'ai appliqué la méthode de l'élagage, en supprimant les étapes une par une.
Jusqu'à laisser, finalement, en ricanant :
Et le batch continue de se foutre de ma gueule, en m'affichant "Test" plusieurs fois si j'appuie plusieurs fois sur une touche.
Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 @echo off echo Test pause shutdown -s -t 3
Il revient donc au début, sans raison (j'insiste).
MS-DOS = démon. CQFD
Partager