Soucis avec fichier batch

Résolu
Matt25300 -  
 Matt25300 -
Bonjour,

Voila, je souhaiterais créer un fichier batch qui, lors qu'on l'exécute, pourrez lancer un logiciel si celui-ci n'est pas lancer.

J'ai trouver des trucs sur internet, mais rien ne fonctionne.

Voici ce que j'ai écrit pour le moment :

tasklist | find "mon_programme.exe" /C /i
cd "C:\Program Files\Dossier ou se trouve mon programme"
if "%ERRORLEVEL%"=="0" START /high mon_programme.exe
exit

Lors que je tape seul dans l'invite de commande MSDOS
cd "C:\Program Files\teamspeak3-server_win64"
j'obtient bien 1.
Mais il semblerais que ce 1 ne soit pas stocker dans %ERRORLEVEL% comme j'ai pu voir sur internet. => le batch relance sans cesse mon_programme.exe
Comment pouvoir stocker ce 1 dans une variable ?
Afin de dire par la suite si cette variable=0, alors lancer le programme ?

Merci d'avance pour vos réponses.

6 réponses

  1. Heliotte Messages postés 1561 Statut Membre 92
     
    set %variable ...
    0
  2. Matt25300
     
    set %variable
    ne fonctionne hélas pas
    ou alors je ne voies pas comment l'utiliser ici
    0
    1. Heliotte Messages postés 1561 Statut Membre 92
       
      "set ma_variable = une_valeur" est la commande pour déclarer et initialiser une variable
      0
    2. Matt25300
       
      c'été suite à un commentaire que j'ai reçu qui à dut être supprimé.
      0
  3. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    peut-être que le ERRORLEVEL est celui du cd et pas de la commande tasklist... et inverser le test, 0 si find trouve quelque chose
    essayer
    cd "C:\Program Files\Dossier ou se trouve mon programme" 
    tasklist | find "mon_programme.exe" /C /i 
    if %ERRORLEVEL% NEQ 0 START /high mon_programme.exe 
    exit 
    
    0
  4. Matt25300
     
    Merci, mais oui je suis bête ^^
    J'aurais dut y penser !
    Sa fonctionne parfaitement maintenant.
    Merci beaucoup de votre aide, et excellente continuation à vous !
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Heliotte Messages postés 1561 Statut Membre 92
     
    Bonjour Matt25300,
    Peut-être comme ceci:
    cd "C:\Program Files\Dossier ou se trouve mon programme\"
    tasklist | find /C /i "mon_programme.exe"
    if "%ERRORLEVEL%"=="1" (
    START /high C:\Program Files\Dossier ou se trouve mon programme\mon_programme.exe echo "Je lance le programme ... patience !"
    ) else ( echo "Le programme est déjà exécuté !"
    )
    pause
    exit
    0
  7. Matt25300
     
    merci Heliotte, mais le post juste avant à déjà entièrement répondu à ma question (tu n'as pas dut le voir ^^).

    Merci tout de même du temps que tu m'as consacré :)
    0