Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
Petit probléme de boucle?!!!
Auteur Message
Répondre en citant
Message Petit probléme de boucle?!!! 
Salut a tous!!!
Je suis en ce moment sur un batch qui créer un mot de passe et un pseudo:
explication:

Si il et lancer pour la première fois, création d'un pseudo et d'un mot de passe,
Si vous avez déjà un pseudo mais pas de mot de passe création d'un pseudo
Si vous avez déjà un mot de passe mais pas de pseudo création pseudo,
si vous avez les deux début de la connexion,
connexion:
Demande du pseudo > si pseudo valide demande du mot de passe, sinon 3 essaie possible puis fin
Demande du mot de passe > si mot de passe valide connexion ok, sinon 3 essaie puis fin

Alors voila mon problème:

pb n°1 et pb n° 2 sont les même,

Quant je me trompe 2 fois puis je mais mon vrai pseudo (ou mot de passe sa fait pareil) le programme se ferme anormalement,
alors que celui-ci devrait continuer!


pb n°3 Comment ajouter (echo "il ne reste plus que 1 essaie") a ma boucle de mdp et celle du pseudo?
pb n°4 je voudrais soit cacher mes fichier (pseudo.txt et pass.txt) ou les crypter (genre truecrypt (merci LADDY)) mais la je sais pas faire!!!

Et enfin:
Et t'il possible aussi de simplifier mon batch??
Merci!!!

La partie chargement c'est un gros copier coller de ce site c'est juste pour faire bien!!!
Mais le reste c'est tout moi!!!!

Voici mon batch:

Code:


echo off
cls
rem efface l'ecran
color 0f
rem choisie la couleur du texte et l'arrierre fond


if exist pseudo.txt (goto pass) else (goto pseudo)
rem si pseudo.txt existe aller à pass sinon goto pseudo

:pass
if exist pass.txt (goto connexion) else (goto nopass)
rem  si pass.txt existe goto connexion sinon goto nopass


:pseudo
echo off
echo Un probleme et survenue...
echo pseudo introuvable...
echo Creation d'un nouveaux pseudo
rem affiche le message à l'ecran
set /p pseudo=Choissisez un pseudo :
rem demande a l'utilisateur de choisir pseudo qui sera contenue dans la variable pseudo
echo %pseudo%,>%systemdrive%pseudo.txt
rem enregistre la variable pseudo suivi d'une virgule dans pseudo.txt
Echo votre pseudo a bien ete creer!
rem affiche le message à l'ecran
pause>nul
goto pass
rem aller à pass

:nopass
echo off
cls
rem efface l'ecran
echo Un probleme et survenue...
echo mot de passe introuvable...
echo Creation d'un nouveaux Mot de passe
rem affiche le message à l'ecran
set /p pass= Choississez un mot de passe :
rem demande a l'utilisateur de choisir un mot de passe qui sera contenue dans la variable pass
echo %pass%,>%systemdrive%pass.txt
rem enregistre la variable pass suivi d'une virgule dans pass.txt
echo votre mot de passe a bien ete creer
rem affiche le message à l'ecran
pause>nul
goto connexion
rem aller à connexion

:connexion
echo off
cls
rem efface l'ecran
echo Veuillez entree vos identifiant:
rem affiche le message à l'ecran
set /p pseudo2=Entrer votre pseudo :
rem demande a l'utilisateur d'entrer le pseudo qui sera contenue dans la variable pseudo2
for /f "tokens=1 delims=," %%i in (%systemdrive%pseudo.txt) do if %%i EQU %pseudo2% (goto mdp) else (goto noconnexion)
rem cherche dans le fichier pseudo.txt sur la ligne 1 les mot contenue avant la virgule
rem et compare si pseudo et pseudo2 sont egale, si oui allez à mdp sinon , allez à noconnexion


:noconnexion
echo off
cls
rem efface l'ecran
set /a FULL+=1
echo pseudo erroner
rem affiche le message a l'ecran
set /p pseudo2=Entrer votre pseudo :
rem demande a l'utilisateur d'entrer le pseudo qui sera contenue dans la variable pseudo2
if %FULL%==2 goto :echouer1
for /f "tokens=1 delims=," %%i in (%systemdrive%pseudo.txt) do if %%i EQU %pseudo2% (goto mdp) else (goto noconnexion)

rem c'est la qu'il y a un probleme nommé pb n°1


:mdp
echo off
cls
rem efface l'ecran
set /p pass2=Entrer votre mot de passe :
rem demande a l'utilisateur d'entrer le mdp qui sera contenue dans la variable pass2
for /f "tokens=1 delims=," %%i in (%systemdrive%pass.txt) do if %%i EQU %pass2% (goto fin) else (goto nomdp)
rem cherche dans le fichier pass.txt sur la ligne 1 les mot contenue avant la virgule
rem et compare si pass et pass2 sont egale, si oui allez à fin sinon , allez à nomdp

:nomdp
echo off
cls
rem efface l'ecran
set /a FULL1+=1
echo mot de passe erroner
rem affiche le message a l'ecran
set /p pass2=Entrer votre mot de passe :
rem demande a l'utilisateur d'entrer le pass qui sera contenue dans la variable pass2
if %FULL1%==2 goto :echouer2
for /f "tokens=1 delims=," %%i in (%systemdrive%pass.txt) do if %%i EQU %pass2% (goto fin) else (goto nomdp)

rem c'est la qu'il y a un probleme nommé pb n°2


:echouer1
echo Desole vous avez entree 3 fois un mauvais pseudo
echo Le programme va se fermer
rem affiche le message a l'ecran
pause>nul
goto fini
rem allez à fini

:echouer2
echo Desole vous avez entree 3 fois un mauvais Mot de passe
echo Le programme va se fermer
rem affiche le message a l'ecran
pause>nul
goto fini
rem allez à fini

:fin
echo off
cls
rem efface l'ecran

mode con cols=70 lines=31 &color 0A
SETLOCAL ENABLEDELAYEDEXPANSION ENABLEEXTENSIONS
:UP_BAR
set /a FULL+=1
set BAR=%BAR%Û
set /a NB_BAR+=2
set LINE_17=                        Chargement .... %NB_BAR%%%
set LINE_16=        ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
set LINE_15=         %BAR%
set LINE_14=         %BAR%
set LINE_13=        ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

cls
for /l %%$ in (30,-1,1) do echo.!Line_%%$!
if %FULL%==50 goto :fin2
@ping localhost -n 1 >nul
goto :UP_BAR


:fin2
cls
rem efface l'ecran
color 0f
rem choisie la couleur du texte et l'arrierre fond
echo Puisque je suis connecter je peux voir ce message!!!
echo vive le batch!!!!
rem affiche le message a l'ecran
pause>nul

:fini
echo Deconnexion
rem affiche le message a l'ecran
pause
[/quote]



Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message Petit probléme de boucle?!!! 
Voici quelques réponses ^^ Bonne lecture Mr. Green

Code:

@echo off
color 0f
set JUMP=OFF
set REST_P=3
set REST_M=3
set s=s

if not exist pseudo.txt goto pseudo
:pass
if not exist pass.txt goto nopass
goto connexion


:pseudo
echo Un problŠme et survenue...
echo pseudo introuvable...
echo Cr‚ation d'un nouveau pseudo
set pseudo=UNDEF
set /p pseudo=Choisissez un pseudo :
if %pseudo%==UNDEF (
    echo pseudo invalide
    pause>nul
    cls
    goto :pseudo
    )
echo %pseudo%,>pseudo.txt
Echo votre pseudo a bien ‚t‚ cr‚‚ !
pause>nul
goto pass

:nopass
cls
echo Un problŠme et survenue...
echo mot de passe introuvable...
echo Cr‚ation d'un nouveau Mot de passe
set pass=UNDEF
set /p pass= Choisissez un mot de passe :
if %pass%==UNDEF (
    echo mot de passe invalide
    pause>nul
    cls
    goto :nopass
    )
echo %pass%,>pass.txt
echo votre mot de passe a bien ‚t‚ cr‚‚ !
pause>nul
goto connexion

:connexion
if %JUMP%==ON goto mdp
cls
if %REST_P% LSS 2 set "s= "
echo Veuillez entrer vos identifiants:
set /p pseudo2=Entrez votre pseudo ( encore %REST_P% essai%s% ):
for /f "tokens=1 delims=," %%i in ('type pseudo.txt') do if %pseudo2% EQU %%i goto mdp
set aff=pseudo
set JUMP=OFF
goto error_p

:mdp
cls
if %REST_M% LSS 2 set "s= "
set /p pass2=Entrez votre mot de passe ( encore %REST_M% essai%s% ):
for /f "tokens=1 delims=," %%i in ('type pass.txt') do if %pass2% EQU %%i goto fin
set aff=mdp
set JUMP=ON
goto error_m

:error_p
set /a COUNT_P+=1
set /a REST_P-=1
if %COUNT_P%==3 goto echouer
goto error
:error_m
set /a COUNT_M+=1
set /a REST_M-=1
if %COUNT_M%==3 goto echouer
:error
cls
echo %aff% erron‚
@ping localhost -n 2 >nul
goto connexion

:echouer
echo Desol‚, vous avez entrer 3 fois un mauvais %aff%
echo Le programme va se fermer
pause>nul
goto fini

:fin
mode con cols=70 lines=31 &color 0A
SETLOCAL ENABLEDELAYEDEXPANSION ENABLEEXTENSIONS
:UP_BAR
set /a FULL+=1
set BAR=%BAR%Û
set /a NB_BAR+=2
set LINE_17=                        Chargement .... %NB_BAR%%%
set LINE_16=        ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
set LINE_15=         %BAR%
set LINE_14=         %BAR%
set LINE_13=        ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

cls
for /l %%$ in (30,-1,1) do echo.!Line_%%$!
if %FULL%==50 goto :fin2
@ping localhost -n 1 >nul
goto :UP_BAR

:fin2
cls
color 0f
echo Puisque je suis connect‚ je peux voir ce message!!!
echo vive le batch!!!!
pause>nul

:fini
echo Deconnexion
pause





______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Répondre en citant
Message Petit probléme de boucle?!!! 
Wouaw!!! Quel rapidité j'admire,
Et quel superbe travail sur mon batch, il et vraiment plus intéressant comme sa, merci stryke!!
Il va falloir que je comprenne mieux les modification apporté mais c'est exactement se que je voulais faire^^!
Par contre je suis toujours embêter avec cette histoire de fichier caché (pseudo.txt et pass.txt) je ne sais pas,
comment sécurise l’accès et ces 2 fichier qui contienne le pseudo et le mot de passe!!!
Merci de vos conseil!!
Et encore merci a stryke!!!!



Répondre en citant
Message Petit probléme de boucle?!!! 
il y a la possibilité du hash

voir http://batch.xoo.it/t1653-Protegez-vos-mots-de-passe.htm?q=mdh5 hash#p13703
http://batch.xoo.it/t1653-Protegez-vos-mots-de-passe.htm?start=15&q=mdh…




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Message Petit probléme de boucle?!!! 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch