duda con un for, ayuda

Iniciado por edunardo, 27 Enero 2009, 21:27 PM

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

edunardo

estoy haciendo un codigo en el cual , el usuario tiene que meter varios numeros tantas veces como valga la variable %num%.
hasta ahi bien, el problema es que no se como asignar cada numero a una nueva variable.
Lo que queria hacer es crear una variable por cada valor que tiene %%x en el for pero no funciona el invento... marco con una flecha la parte que no me funciona.

for /L %%x IN (1,1,%num%) do (
echo escribe el numero  %%x
set /p VARIABLE%%x= <<<<<<<<<<<<<<<<<< AQUI

GRACIAS

edunardo

No entiendo la parte de

set /p variable=">" ahi no igualo el valor introducido a la variable y la variable no cambia es siempre la misma y yo quiero una para cada valor introducido


tampoco entiendo por que comparas variable con el número introducido...

Creo que no me he explicado bien, gracias en cualquier caso.

edunardo

Si, voy a intentarlo...

En un primer momento el usuario mete una variable que va a ser %num%.

Por el valor que tenga dicha variable, por ejemplo 5 , quiero solicitar al usuario que meta unos datos .
Por cada dato que introduzca (en este caso 5 datos) lo quiero igualar a una variable diferente, es decir, si %num% es 5, pues tiene que haber al final 5 variables con 5 datos introducidos por el usuario.

el usuario ya ha introducido %num% ...............

for /L %%x IN (1,1,%num%) do (
echo escribe el dato numero %%x
set /p VARIABLE%x=   <--------ESTO ES LO QUE NO SE COMO HACER
)

He señalado la parte que no se como hacer... como verás intento que se cree por cada dato una variable diferente aprovechando la %x% del for...

Si fucionase sería.    variable1-->valor que mete el usuario
                              variable2-->segundo valor que mete el usuario


y asi hasta que el for se acabe....

Espero haberme explicado mejor.



edunardo

Es algo así pero ese codigo no me vale por varias cosas.

1º)no es el usuario el que introduce los valores de las variables.
2º)En tu codigo se crean dos variables pero yo quiero tantas variables como %num%

un saludo ¡¡

leogtz

@echo off
setlocal enabledelayedexpansion
:code
set /p numvars=Numero de variables a crear :
if not defined numvars (goto:code)
for /l %%- in (1,1,%numvars%) do (
set /p variable%%-=Datos de la variable %variable%%%- :
)
for /l %%- in (1,1,%numvars%) do (
echo !variable%%-!
)
pause>nul
exit /b 0
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com