Rechercher : dans
Par :

[Batch] Un random définit ?

Dernière réponse le 17 jan 2009 à 20:10:15 Delzur, le 17 jun 2007 à 19:30:41 
 Signaler ce message aux modérateurs

Voila je voudrais demander, car j'ai vu sur un topic que les random étaient possible, la commande set var = %random%, mais ets-ce possible de donner un ensemble de définition ? j'ai bien tenté un set /a var = %random(0-2)% (lol, je sais, c'était mal barré ) mais il m'a dit "il manque une opérande"
comment donner une ensemble ?
(quelle est cette erreur ?)
Merci de m'avoir lu

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « [Batch] Un random définit ? » dans :
Sauvegarde incrémentielle de données avec un .bat (Batch) Voir Pourquoi utiliser la sauvegarde incrémentielle ? Sauvegarder vos données importantes avant un formatage par exemple... Au 1er lancement du batch, il sauvegarde l'intégralité des dossiers et fichiers, par contre si vous relancez le batch 2 semaines...
Portabiliser une application avec le Batch VoirI) Introduction II) Sauvegarde des paramètres III) Portabilisation (Création du Batch) Autres Liens I) Introduction Voici un tutoriel vous permettant de suivre pas à pas la création d’un lanceur facilement pour une application qui n’est...

1

Delzur, le 18 jun 2007 à 22:37:04

En fait je cherche un nombre aléatoire entre 0-2

et je préçise que je le souhaite

entier

avec 0 et 2 inclus !

Répondre à Delzur

2

blackaagony, le 24 jui 2007 à 09:12:19
  • +2

Salut,

A mon avis il faut se pencher du coté du modulo.

Essaye ça :

set /a n="%random%%3"

Répondre à blackaagony

3

Delzur, le 18 aoû 2007 à 19:20:08

Salut j'ai éssayé ton code mais j'avoue que j'ai pas compris... en fait ça reviens a un truc genre n=%random%*3 non ?

voila si tu pouvais m'expliquer un peu plus ^^

Merci

Répondre à Delzur

4

Delzur, le 22 aoû 2007 à 17:08:34

Ohé ??

Répondre à Delzur

5

blackaagony, le 23 sep 2007 à 19:51:14
  • +2

Salut,
si ça t'interesse encore,

set /a n="%random%%5"

génère un nombre compris entre 0 et 4. Pour fixer le minimum a 2 par exemple, additionne simplement 2 à n, et réajuste le diviseur (5 ici).

Pour générer un nom entre 2 et 4, tu va taper ceci :

set /a n="%random%%3+2"

Plus généralement, tu va donc utiliser la formule : "%random%%x+y"

Où y= valeur min et
x = valeur max -y + 1

Si je ne me trompe pas...

Bon courage.

Répondre à blackaagony

6

Dr.SoFtNaF, le 23 sep 2007 à 20:07:25
  • +2

Voici mon code qui génre aléatoirement entre 0 1 2

@echo off

set /a n=%random%%%3
echo %n%

pause


il faut 3% pour qu'il s'excute c'est pas juste %random% ou %random%% il faut %random%%%

je sais pas pk mais ça marche %leul% :d
Bon courage

Répondre à Dr.SoFtNaF

7

kikinou, le 10 sep 2008 à 21:40:04

Tu aurais pu aussi faire un code du genre

@echo
:un
set a=%random%
if %a%=0 goto deux
if %a%=1 goto deux
if %a%=2 goto deux
goto un
:deux
echo %a%
echo.
pause

meme si je repond un peu tard sa peut toujours servir a quelqu'un ^^

Répondre à kikinou

8

 Anonyme, le 17 jan 2009 à 20:00:52

Il y a quelques fautes dans le code de kikinou.
Code corrigé :

@echo off
:un
set a=%random%
if %a%==0 goto deux
if %a%==1 goto deux
if %a%==2 goto deux
goto un
:deux
echo %a%
echo.
pause

Voila parce que sinon ça plante.

Sinon merci c'est exactement ce qui me fallait ! (même si ce code met un moment avant de tomber sur un des trois chiffres)

Répondre à Anonyme