Soucis avec fichier batch

Résolu/Fermé
Matt25300 - Modifié par Matt25300 le 7/12/2012 à 18:12
 Matt25300 - 8 déc. 2012 à 10:33
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.
A voir également:

6 réponses

Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
7 déc. 2012 à 18:18
set %variable ...
0
set %variable
ne fonctionne hélas pas
ou alors je ne voies pas comment l'utiliser ici
0
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
7 déc. 2012 à 20:59
"set ma_variable = une_valeur" est la commande pour déclarer et initialiser une variable
0
c'été suite à un commentaire que j'ai reçu qui à dut être supprimé.
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
Modifié par dubcek le 8/12/2012 à 08:57
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
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
8 déc. 2012 à 09:14
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
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