IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

MS DOS : Remplacer des caractères saisis par des "*"


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut MS DOS : Remplacer des caractères saisis par des "*"
    Bonjour à tous !

    Voilà, j'ai crée une minuscule programme MS DOS qui sert à lancer un programme si on saisit le bon mot de passe.
    Mon programme marche nickel sauf que je voudrais le compliquer un peu : j'aimerais que quand je saisisse le mot de passe dans le programme, les caractères soient remplacés par des "*" ou des "X", histoire de rendre le mot de passe un peu plus confidentiel...

    Sauriez-vous comment faire ?
    Merci à tous ceux qui pourront m'aider.

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par défaut
    Le vrai vieux DOS 16 bits ou un programme Win32/Win64 console?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Invité
    Invité(e)
    Par défaut Euh... Comment dire...
    Citation Envoyé par Médinoc Voir le message
    Le vrai vieux DOS 16 bits ou un programme Win32/Win64 console?
    Ouh là là, je ne suis pas assez bon en programmation ! Je débute seulement alors je crée des petits programmes mais sans plus.
    Mon programme ressemble à ça :

    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    @ECHO OFF
    :AFF
    echo Veuillez saisir votre mot de passe :
    set/p "pass=>"
    if NOT %pass%== 1234 goto FAIL
    goto PROG
    :FAIL
    cls
    echo Le mot de passe est incorrect
    goto AFF
    :PROG
    cls
    echo CONNEXION...
    start D:\StockExpress
    exit

    Et j'ai créé ce programme à partir d'un document texte (.txt) que j'ai enregistré sous le nom "Code.bat".
    Je ne sais pas si ça peut vous aider...
    Dernière modification par sevyc64 ; 19/01/2015 à 21h17.

  4. #4
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par défaut
    Ah, c'est un batch, que tu fais tourner sous un Windows moderne je suppose.
    Il y a une section dédiée dans le forum: Scripts/Batch
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Invité
    Invité(e)
    Par défaut Je comprend tout !
    Citation Envoyé par Médinoc Voir le message
    Ah, c'est un batch, que tu fais tourner sous un Windows moderne je suppose.
    Il y a une section dédiée dans le forum: Scripts/Batch
    Aaaah ! Je n'étais pas au courant que c'était en batch. Maintenant, je pourrais peut-être trouvé des résultats plus ciblés sur mon cas. Merci de cet info !

  6. #6
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut [BAT] Remplacer la saisie du mot de passe par des *
    Voici un petit exemple que je viens de te faire, que tu peux adapter à ta situation :


    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    ::SachaDee - 2015
     
    @echo off&cls
     
    ::Le Mot de Passe
    set "$Mdp=toto1234"
     
    ::La longeur du Mot de passe
    set "$Long=8"
     
    ::Les autres variables
    set "$l="
    set "$l1="
    set "$C=0"
     
     
    :test
    if %$c%==%$Long% goto:Pastrouve
    set "$T="
    cls&echo Entrer votre MDP : %$l1%
    For /F "delims=" %%# In ('Xcopy /W "%~f0" "%~f0" 2^>Nul') Do If Not Defined $T Set "$T=%%#"
    Set "$l=%$l%%$T:~-1%"
    set "$l1=%$l1%*"
    if "%$l%"=="%$Mdp%" goto:trouve
    set /a $C+=1
    goto:test
     
     
    :trouve
    echo bravo
    exit/b
     
    :Pastrouve
    echo Pas trouv‚
    exit/b


    Tu n'as pas besoin d'appuyer sur Enter il compte le nombre de caractères entrés et si tu passes la valeur définie dans la variable $Long il termine.


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Turbo Pascal] Fonction qui remplace les caractères entrés par des étoiles (*)
    Par Dr.Mimo dans le forum Contribuez
    Réponses: 0
    Dernier message: 30/03/2012, 21h51
  2. [Turbo Pascal] Remplacer des lettres saisies par des points
    Par aristideman dans le forum Turbo Pascal
    Réponses: 1
    Dernier message: 11/03/2012, 19h10
  3. [RegEx] Extraire des nombres séparés par des caractères spéciaux
    Par GouKen dans le forum Langage
    Réponses: 2
    Dernier message: 29/01/2008, 16h49
  4. Réponses: 5
    Dernier message: 26/11/2006, 17h32
  5. [XSLT] Remplacer par des caractères spéciaux
    Par OXyGN dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 29/07/2005, 17h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo