Batch qui bloque à l'execution d'un programme

Bonjour,
J'utilise un script ms-dos qui s'execute à mon ouverture de session pour lancer mes programmes en différer mais au premier executable (MSN) il se bloque (le trait clignote indéfiniment).

Voici mon code :
@echo off  
title 'xecution des programmes  
cls  
echo ouverture des programmes en cours  
echo.  
echo ouverture de messenger dans 3 secondes  
sleep -m 3000  
"D:\Program Files\Windows Live\Messenger\msnmsgr.exe" /background 
echo Messenger est ouvert.  
echo.  
echo ouverture de skype dans 5 secondes  
sleep -m 5000  
"D:\Program Files\Skype\Phone\Skype.exe" /nosplash /minimized 
echo Skype est ouvert.  
echo.  
echo ouverture de DAP dans 5 secondes  
sleep -m 5000  
"D:\Program Files\DAP\DAP.exe" /STARTUP 
echo DAP est ouvert.  
echo.  
echo.  
echo Tous les programmes sont ouvert.  
sleep -m 1000  
exit


Merci de vos réponse.



Il vaut mieux demander de l'aide à un grand groupe de personnes que celui d'un informaticien.

12 réponses

  1. Contributeur
    Bonjour,

    Il faut que tu ajoutes la commande "start" devant le lancement de tes programmes, cela aura pour effet de lancer la commande, mais de façon non bloquante.

    Ex: start "D:\Program Files\Windows Live\Messenger\msnmsgr.exe" /background
    1. merci mais après il me mets ça : Option non valide - "/background".
      1. Contributeur
        Il faut sans doute que tu l'inclues entre les " ", ou alors essaie en les enlevant.
        1. quand je l'inclues entre " " ça m'ouvre une nouvelle fenêtre ms-dos et quand je les enlève ça me mets
          Le système ne peut trouver le fichier D:\Program.
          1. Contributeur
            Dans ce cas enlève le background alors ^^

            Si tu enlèves les parenthèses, il est normal qu'il ne trouve que D:\Program, du fait qu'il va s'arrêter au premier espace rencontré, celui de Program Files en l'occurence.

            Sinon tu peux aussi l'écrire comme ça :

            D:\Progra~1\Windows Live\Messenger\msnmsgr.exe

            Pas d'espace, et donc ça marchera.

            1. je ne veux pas enlever le background car c'est lui qui permet que la fenêtre principal ne s'ouvre pas au démarrage
              et quand je met comme tu a dis il me met
              Le chemin d'accès spécifié est introuvable.
              1. Contributeur
                Rah y a un espace dans Windows live ^.^

                C'est normal que la fenêtre MS DOS reste ouverte avec le start, vu que tu lui demandes justement d'ouvrir l'exécutable dans une nouvelle fenêtre. Après si l'exécutable n'ouvre pas lui même un nouveau thread je pense, du coup tu restes dans la fenêtre DOS.

                Je vérifierais.
                1. Il n'y a plus personnes ?

                  Comment faire pour créer un thread qui ouvre msnmsgr.exe et qui se ferme.
                  1. Contributeur
                    Sinon tu peux toujours paramétrer le lancement en background depuis la gestion de démarrage

                    Démarrer /> Exécuter /> msconfig

                    De là tu auras les options de démarrage des applications au démarrage du PC, et donc tu devrais pouvoir modifier comme tu le souhaites.
                    1. bonjour,
                      ça je sais mais ce que je veux c'est créer un *.exe qui ouvre msnmsgr.exe et qui se ferme.