[Batch] Commande pour random 1 à 9 ou A à Z

Résolu/Fermé
Mystraht Messages postés 19 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 29 décembre 2012 - 3 août 2008 à 18:22
 anonyme - 10 nov. 2011 à 18:27
Bonjour,

Qui pourrai me dire une commande/variable pour faire un random de 1 à 9 ou A à Z avec batch ?!

Genre:

@echo off
Set test=%1-9%
echo Chiffre Bonneur :
echo.
echo Votre chiffre porte bonneur est: %test%
pause.

La par exemple vous pouver me dire pour que le resultat dise un nombre entre 1 et 9 (au hasard) genre:

Chiffre Bonneur :
Votre chiffre bonneur est: 5

La on referme on re ouvre le batch et sa marche une autre chose genre:

Chiffre bonneur :
Votre chiffre bonneur est: 3

Merci de vos reponse ! ;)
A voir également:

3 réponses

Salut Mystraht.

Voilà le code pour avoir une variable numérique de 0 à 9 :

@echo off
set /a test=%random%%%10
echo Chiffre Bonneur :
echo.
echo Votre chiffre porte bonheur est: %test%
pause>nul



Et le code qui donne une variable numérique de 1 à 9 :

@echo off
:1
set /a test=%random%%%10
if %test% equ 0 goto 1
echo Chiffre Bonneur :
echo.
echo Votre chiffre porte bonheur est: %test%.
pause>nul


J'espère que cela te conviendra.

Par contre je ne pense pas qu'il soit possible de créer une variable donnant une lettre
cependant si quelqu'un connait la solution je lui serai reconnaissant de nous la faire partager
Merci.
10
Re :)

J'ai finalement trouver le moyen de définir une lettre au hazard de "a" à "z" ...

Voilà mon code :
PS: Je reprend une fois de plus l'exemple de Mystraht.


@echo off
set /a test=%random%%%26
if %test%==0 set test=a
if %test%==1 set test=b
if %test%==2 set test=c
if %test%==3 set test=d
if %test%==4 set test=e
if %test%==5 set test=f
if %test%==6 set test=g
if %test%==7 set test=h
if %test%==8 set test=i
if %test%==9 set test=j
if %test%==10 set test=k
if %test%==11 set test=l
if %test%==12 set test=m
if %test%==13 set test=n
if %test%==14 set test=o
if %test%==15 set test=p
if %test%==16 set test=q
if %test%==17 set test=r
if %test%==18 set test=s
if %test%==19 set test=t
if %test%==20 set test=u
if %test%==21 set test=v
if %test%==22 set test=w
if %test%==23 set test=x
if %test%==24 set test=y
if %test%==25 set test=z
echo Lettre Bonneur :
echo.
echo Votre lettre porte bonneur est: "%test%" !!!
echo.
echo.
echo.
echo Frappez sur une touche pour quitter... :)
pause>nul


En esperant que cela puisse servir !!!

J'avoue tout de même que se code est assez long et donc si une autre solution existe
je serai très heureux de la connaitre
Merci.
5
bonjour ,

peut-etre en generant un nombre correspondant a un caractere ASCII ?

merci pour le tuto
0
SAW4 Messages postés 190 Date d'inscription mardi 29 juillet 2008 Statut Membre Dernière intervention 14 décembre 2008 16
5 août 2008 à 16:50
Bonjour,
ESSAYE :
echo %random%
2