Condition en batch

parigot Messages postés 73 Statut Membre -  
parigot Messages postés 73 Statut Membre -
Bonjour.

Je viens de me pencher un peu sur ce langage et je suis très peu avancé. J'ai lu quelques tutos mais mon prog ne marche pas. Je souhaite simplement lancer une question à l'utilisateur et ouvrir tel ou tel fichier suite à sa réponse.

J'ai tenté d'utiliser if et goto mais ça ne fonctionne pas soit rien ne s'ouvre soit les deux fichiers s'ouvrent en même temps.

Ce type de fichier me servirait à choisir si on veut installer ou non plusieurs programmes. Je lancerais alors l'application .exe selon la réponse obtenue.

D'avance je vous remcercie

à très bientôt
Configuration: Windows XP
Firefox 2.0.0.3

1 réponse

  1. s.spark Messages postés 2528 Statut Contributeur 618
     
    Salut,

    Le code est optimisable (gestion d'erreurs) je te laisse le soin de le découvrir par toi même.

    Cette façon de soumettre un choix n'est compatible qu'avec Windows XP (2000 ? Vista ?). Pour les versions antérieur de Windows il faut utiliser la commande choise.exe qui n'est plus présent sur XP, mais qui peut être téléchargé et ajouté dans le dossier de ton batch.
    @echo off
    echo Choisissez un programme à installer
    echo.
    goto sauterlemessage
    
    :pasdechoixselectionne
    echo Vous devez faire un choix
    echo.
    :sauterlemessage
    
    echo - 1 - Je veux installer PROGRAMME1
    echo - 2 - Je veux installer PROGRAMME2
    echo - 3 - Je veux installer PROGRAMME 1 et 2
    echo - 4 - Quitter
    echo.
    
    ;On demande de donner une valeur à la variable %CHOICE%
    set /p CHOICE=Faites votre choix (1, 2, 3 ou 4):
    
    if /i %CHOICE%==1 goto PROGRAMME1
    if /i %CHOICE%==2 goto PROGRAMME2
    if /i %CHOICE%==3 goto PROGRAMME1et2
    if /i %CHOICE%==4 goto QUITTER
    goto pasdechoixselectionne
    
    :PROGRAMME1
    start /wait PROGRAMME1.exe
    
    
    echo Felicitation vous avez installe PROGRAMME1
    pause >nul
    exit
    
    :PROGRAMME2
    start /wait PROGRAMME2.exe
    
    echo Felicitation vous avez installe PROGRAMME2
    pause >nul
    exit
    
    :PROGRAMME1et2
    start /wait PROGRAMME1.exe
    start /wait PROGRAMME2.exe
    
    
    echo Felicitation vous avez installe PROGRAMME 1 et 2
    pause >nul
    
    :QUITTER
    exit

    1
    1. parigot Messages postés 73 Statut Membre
       
      Bonjour.

      Un très grand merci à toi. Je vais tester ces commandes avec des images à ouvrir.

      Merci encore

      @+
      0