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

Résolu
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

  • Votes
  • Date
  • Date décroissante
  1. 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.
    1. 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.
      1. bonjour ,

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

        merci pour le tuto