Concaténation ? Et sélection random parmi une variable
Posté : 04 oct. 2015 03:38
Bonjour,
Je suis nouveau sur le forum !
Du coup je suis débutant en batch.
Je voulais faire un programme qui donne un mot de passe généré aléatoirement en alphanumérique, ayant une taille entrée par l'utilisateur. Voilà mon code :
@echo off
title Générateur aléatoire de mot de passe
mode con cols=100 lines=32
color 0A
:: Déclarations
set alphabet=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
:: Demande des paramètres à l'utilisateur
set /p n=Entrez la taille en caractère que vous souhaitez pour votre mot de passe :
echo.
:: Set Mdp
set /a rand=%Random%%%62
set mdp=%alphabet:~%rand%,1%
for /l %%i in (2, 1, n) do (
set /a rand=%Random%%%62
set mdp=%mdp%%alphabet:~%rand%,1%
)
echo.
echo Voici votre mot de passe : %mdp%
pause > nul
FIN
J'ai deux problèmes : Déjà, au niveau de la concaténation à chaque tour de boucle, je ne suis pas sûr que ça marche comme ça. Et surtout, ma manière de généré une lettre aléatoirement ne marche pas, les % se faisant de l'ombre !
Du coup on ne peux pas sélectionner une partie d'une variable à l'aide d'une autre variable ?
Si quelqu'un a une idée, je suis preneur !
Salut
Je suis nouveau sur le forum !
Du coup je suis débutant en batch.
Je voulais faire un programme qui donne un mot de passe généré aléatoirement en alphanumérique, ayant une taille entrée par l'utilisateur. Voilà mon code :
@echo off
title Générateur aléatoire de mot de passe
mode con cols=100 lines=32
color 0A
:: Déclarations
set alphabet=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
:: Demande des paramètres à l'utilisateur
set /p n=Entrez la taille en caractère que vous souhaitez pour votre mot de passe :
echo.
:: Set Mdp
set /a rand=%Random%%%62
set mdp=%alphabet:~%rand%,1%
for /l %%i in (2, 1, n) do (
set /a rand=%Random%%%62
set mdp=%mdp%%alphabet:~%rand%,1%
)
echo.
echo Voici votre mot de passe : %mdp%
pause > nul
FIN
J'ai deux problèmes : Déjà, au niveau de la concaténation à chaque tour de boucle, je ne suis pas sûr que ça marche comme ça. Et surtout, ma manière de généré une lettre aléatoirement ne marche pas, les % se faisant de l'ombre !
Du coup on ne peux pas sélectionner une partie d'une variable à l'aide d'une autre variable ?
Si quelqu'un a une idée, je suis preneur !
Salut