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

Résolu
Mystraht Messages postés 21 Statut Membre -  
 anonyme -
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 ! ;)
Configuration: Windows XP
Internet Explorer 7.0

3 réponses

  1. Pierre
     
    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
  2. Pierre
     
    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
    1. anonyme
       
      bonjour ,

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

      merci pour le tuto
      0
  3. SAW4 Messages postés 212 Statut Membre 16
     
    Bonjour,
    ESSAYE :
    echo %random%
    2