Choix de lancer un logiciel ou non (ms dos)

bonjour à tous

j’aimerai histoire d’apprendre un petit peu le dos faire un fichier .bat me permettant de lancer ou non un logiciel.J’ai déjà écrit un petit bout, le soucis c’est que même quand je choisis “non” il le lance quand même ^^. Voilà je vous remercie par avance (ci contre le petit bout de code)

@echo off
title bonjour !
echo.
echo voulez vous lancer ccleaner ?
echo.
echo (o= oui ; n= non)
choice /n /c:on

if %errorlevel%==o goto o
if %errorlevel%==n goto n
if:o
start ccleaner.exe

if:n
exit

ca va pas ton truc les goto n’existent pas.
et en C, ca me parait bien plus simple. Et pour cc raison de plus il faut le lancer en administrateur, sous Vista il bronche…

[quote=“R3V0LT[FRa]”]ca va pas ton truc les goto n’existent pas.
[/quote]
Je pense que ce qu’il veut dire c’est que les ancres/points/étiquettes/labels “o” et “n” ne sont déclarée nul part dans ton code.

Il semble en effet qu’il y ait une coquille : remplace “if:o” par “:o” (et “if:n” par “:n”).

Petit exemple d’un script BAT qui ne lance le logiciel machin.exe que si les logiciels bidule.exe et truc.hta ne tournent pas :

@echo off

tasklist | findstr /c:bidule.exe > nul
If %errorlevel%== 0 goto Process_Found
tasklist | findstr /c:truc.hta > nul
If %errorlevel%== 0 goto Process_Found

goto Process_NotFound

:Process_Found
echo Can't start machin.exe
goto END
:Process_NotFound
echo Starting machin.exe
start machin.exe
goto END
:END

Edité le 04/10/2009 à 15:42