IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Commande shutdown ne fonctionne pas et reprend le batch au début [Batch]


Sujet :

Scripts/Batch

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 101
    Points : 67
    Points
    67
    Par défaut Commande shutdown ne fonctionne pas et reprend le batch au début
    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 :
    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
    Et le batch continue de se foutre de ma gueule, en m'affichant "Test" plusieurs fois si j'appuie plusieurs fois sur une touche.
    Il revient donc au début, sans raison (j'insiste).

    MS-DOS = démon. CQFD

  2. #2
    Membre éclairé Avatar de devilsnake88
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2013
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 453
    Points : 809
    Points
    809
    Par défaut
    Bonjour,
    Pourquoi appeler 50 autres scripts pour un shutdown?
    Peux-tu nous donner le code des autres fichiers?

    Sinon à la fin de ton script, essaye quelque chose comme ça
    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ...
    shutdown -s -t 3
    goto :end
    :end
    pause
    ________________________________________________________________
    N'oublie pas de faire une sauvegarde avant d'exécuter des scripts...
    Si j'ai ton problème, un petit fait toujours plaisir!
    ________________________________________________________________

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 101
    Points : 67
    Points
    67
    Par défaut
    Merci Devil,
    Non je ne vais pas donner le code des autres fichiers, puisque ça n'est pas nécessaire.
    J'ai bien précisé que j'ai vérifié ces fichiers, et en plus je donne le code du fichier final qui ne contient qu'un écho, un pause, et la commande shutdown.

    Donc il faut se concentrer là-dessus.
    Je pense qu'il y a une raison exogène au problème. MS-DOS est un des rares langages à buguer sans raison liée au code pur.
    Ne nous éternisons pas sur cette phrase, mais sur le bout de code incriminé.
    Merci

    J'ai essayé de rajouter ce que tu m'as mis, ça ne fonctionne pas.

    nb : après quelques recherches, il semble que la commande shutdown soit problématique sous Windows (W7 notamment). Genre elle fonctionne quand elle veut. Mais si quelqu'un a une idée précise, je suis preneur !

  4. #4
    Membre éclairé Avatar de devilsnake88
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2013
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 453
    Points : 809
    Points
    809
    Par défaut
    Personnellement je l'utilise à mon travaille pour éteindre les ordinateurs d'une salle et je n'ai pas de soucis.
    Par contre si la commande "boucle" c'est que tu as certainement un soucis avec tes boucles...
    ________________________________________________________________
    N'oublie pas de faire une sauvegarde avant d'exécuter des scripts...
    Si j'ai ton problème, un petit fait toujours plaisir!
    ________________________________________________________________

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 101
    Points : 67
    Points
    67
    Par défaut
    Par contre si la commande "boucle" c'est que tu as certainement un soucis avec tes boucles...
    Mais il n'y a pas de boucle dans :
    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
    J'ai réduit le batch à ça ! Et il revient au début de ces 5 lignes de code, étrangement...

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 101
    Points : 67
    Points
    67
    Par défaut
    Bon, j'ai trouvé une "parade" :
    1. Je crée un raccourcis tout simple : Clic-droit dans un dossier > Nouveau > Raccourci.
    2. Ensuite dessus je fais Clic-droit > Propriétés, et dans le champ cible je mets "C:\Windows\System32\shutdown.exe -s -t 0"
    3. Je fais appel à ce raccourcis dans mon batch :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      start "" ".\links\shutdown command.lnk"

    Technique de contournement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [la commande ppm ne fonctionne pas ? ]
    Par modesty12 dans le forum Alimentation
    Réponses: 1
    Dernier message: 31/05/2007, 16h35
  2. Réponses: 1
    Dernier message: 10/04/2007, 22h27
  3. [WB9] Une commande Webdev ne fonctionne pas
    Par Tina51 dans le forum WebDev
    Réponses: 4
    Dernier message: 16/03/2007, 22h24
  4. Boutons de commande qui ne fonctionnent pas
    Par Shakti dans le forum IHM
    Réponses: 4
    Dernier message: 24/11/2006, 16h29
  5. La commande cd ne fonctionne pas
    Par keiserjo dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 06/10/2006, 22h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo