¿como creo una variable con un valor aleatorio en bat?

Iniciado por PrEmUt0s, 14 Octubre 2008, 00:02 AM

0 Miembros y 1 Visitante están viendo este tema.

PrEmUt0s

salu2 quiero aprender a hacer programitas en bat con algunos comandos que voy aprendiendo por ahi, pero no se como dar un valor aleatorio a una variable. si alguien puede hecharme un cable




PrEmUt0s

Gracias, otra cosa: como hago si quiero que el valor que genere este dentro de un rango determinado



Darioxhcx

@echo off
echo %random:~0,3%
pause

solo te da 3 cifras , lo vas modificando si keres de 2 , 1 ,4 o 5 , como veas
si keres mas de cinco x ejemplo 8

echo %random%%random:~0,3%

o algo por el estilo
saludos

SmartGenius

aja...con rango te refieres a la longitud o a un rango por ejemplo de o a 100...

Mira este code y dime....que te parece:

@echo off
REM Random Number Generator
REM Coded by SmartGenius
set def=%1
if "%def%"=="" goto :syntax
if %def%==/? goto :syntax
if %def%==/h goto :syntax
set /a t=%def%*1
if %t% LEQ 0 goto :syntax
if %def% GTR 9 goto :syntax
:random
set /a rdn=((((%random%*%random%*%random%)+%random%)*%time:~-2%)+(%random%*%random%)*%time:~-2%)>nul
call set nr=%%rdn:~-%def%%% > nul
echo %nr%
goto :eof

:syntax
echo.
echo  Modo de Uso: %~0 N
echo               %~0 [/? ^| /h] - Ayuda
echo.
echo  Donde N representa la Longitud en Digitos del Numero Aleatorio.
echo  Se generaran Numeros Aleatorios de Maximo 9 Digitos de Longitud.
goto :eof


Lo he tratado de mejorar para convertirlo en un comando mas que guardemos en system32...

por ahora llevo este codigo..aunque puede ser modificado obvio... ;D

Se guarda como RANDOM.BAT en system32 y ya seria un comando que recibe como parametro la longitud en digitos que debe tener el numero aleatorio generado....(por ahora el maximo es 9 )...

Espero sea de utilidad...o si hay ideas..pues...aporten.. xD

Saludos.