Batcher avec mot de passe

Bonjour,
là vraiment besoin de votre aide, je suis en 1ere année informatique, et je suis entrain de preparer un projet batch, je suis bloquer sur l'etape qui demande à l'utulisateur de rentrer un mot de passe et à la troisieme tentative on doit quittez le programme, mon projet devra finir aujourdhui svp
Configuration: Windows 2003 Internet Explorer 6.0

20 réponses

  1. personne n'est interessé§§§§§!!!!!!!!!!
    0
    1. svp c'est tres importants
      0
      1. hello
        essaye:
        @echo off 
        
        setlocal enableDelayedExpansion
        set mdp=aaaaa
        for /L %%a in (1,1,3) do (
        set /p m=entrez le mot de passe: 
        if !m! == %mdp% goto fin
        )
        echo erreur
        exit /b
        :fin
        echo ok
        
        0
        1. rebonjour
          merci d'étre avec moi je vais tester ce code et je te reponds tout de suite
          0
          1. oui ça marche merci infinement si ça te derange pas tu peux m'expliquer ce que signifie ce code je sais que c'est fatiguant avec un debutant, je sais que for c'est pr creer une boucle mais les autres parametres nom
            0
            1. @echo off 
              
              rem on active l'expansion retardée des variables d'environnement 
              rem nécessaire pour assigner des variables dans une boucle for
              setlocal enableDelayedExpansion
              rem on definit la variable mdp avec la valeur aaaaa
              set mdp=aaaaa
              rem on boucle de 1 à 3
              for /L %%a in (1,1,3) do (
              rem on lit la variable m en posant la question
              set /p m=entrez le mot de passe: 
              rem si m est égale à mdp on saute au label :fin
              if !m! == %mdp% goto fin
              )
              rem sinon on affiche une erreur
              echo erreur
              exit /b
              :fin
              echo ok
              
              0
              1. quand on boucle prq on a pas mis 123 au lieu de 113 ça d'une part et d'autre part est ce que c'est tjrs par setlocal enableDelayedExpansion quand cree des compteurs
                je te remercie infirnement tu m'as vraiment servie je peux avoir ton émail ou cas ou j'ai besoin de toi car vraiment je suis tombé sur un prof de sys qui ......
                0
                1. c'est tjrs par setlocal enableDelayedExpansion quand cree des compteurs
                  oui si on est dans une boucle for

                  dans le help de for
                  for /L {%% | %}variable in (débutt#,incrément#,fin#) do commande [OptionsLigneCommande]
                  mais on pourrait faire autrement avec 1 2 3
                  for /F ["MotsClésAnalyse"] {%% | %}variable in ("ChaîneLittérale") do commande [OptionsLigneCommande]
                  0
                  1. s'agissant du mot de passe, est il possible de demander à l'utulisateur de mettre un mot de passe de 4 chiffres et que ces chiffres là soient limité entre 0 et 6 sinon le code sera erroné
                    0
                    1. oui, mais en bat, ça devient compliqué, le bat est très limité
                      0
                      1. merci beaucoup dubceq franchement tu m'a beaucoup servi est ce que tu connais une url ou je peux m'ameliorer en batch ou il y a des exercices corrigé
                        0
                        1. regarde là http://www.hotline-pc.org/batch.htm#
                          0
                          1. bien reçu merci chef je vais essayer de monter mon petit projet vers la fin de la journée rt s'il ya un prb je te met au courant ok enfin si ti sera disponible
                            0
                            1. excuse moi mais là ou je dois mettre mon mot de passe car quelque soit le mot de passe ça me le demande à 3 reprise

                              @echo off

                              setlocal enableDelayedExpansion
                              set mdp=aaaaa
                              for /L %%m in (1,1,3) do (
                              set /p m=entrez le mot de passe:
                              if !m! == %salut% goto fin
                              )
                              echo erreur
                              exit /b
                              :fin
                              echo ok

                              pause>nul
                              0
                              1. si tu veux dire comme ça, j'ai testé mais ça me fait la méme chose

                                @echo off

                                setlocal enableDelayedExpansion
                                set mdp=salut
                                for /L %%m in (1,1,3) do (
                                set /p m=entrez le mot de passe:
                                if !m! == %% goto fin
                                )
                                echo erreur
                                exit /b
                                :fin
                                echo ok
                                pause>nul
                                0
                                1. je veux mettre le mot de passe salut par exemple
                                  0
                                  1. il manque le nom de la variable entre %%
                                    if !m! == %mdp% goto fin
                                    0