Soucis avec fichier batch

[Résolu/Fermé]
Signaler
-
 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

Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
87
set %variable ...
set %variable
ne fonctionne hélas pas
ou alors je ne voies pas comment l'utiliser ici
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
87
"set ma_variable = une_valeur" est la commande pour déclarer et initialiser une variable
c'été suite à un commentaire que j'ai reçu qui à dut être supprimé.
Messages postés
18246
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
21 juillet 2021
5 330
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 
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 !
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
87
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
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é :)