Título: Problema con variable Publicado por: kraszic en 1 Agosto 2008, 13:00 pm Buenas, tengo unas dudas con las variables...
Me gustaria saber si puede poner una variable dentro de otra variable. Ahora pongo el codigo q tengo y lo explico mas o menos. Código: set ini=0 :bucle set /a ini=%ini%+1 if %ini%==20 goto fin set var%ini%=%ini%prueba echo %var%ini%% goto bucle :fin pause>nul Esto es solo un ejemplo. Lo q quiero conseguir es definir variables mediante un bucle asi; var1, var2, var3, var4, var5 La otra duda es en la linia: Código: echo %var%ini%% ya que no se como tengo q imprimir la variable generada arriba.Es posible hacer tdo esto?? En fin, a ver si me e explicado bien saludos PD: No intenteis entender el codigo porq lo he puesto sin pensar, solo para exponer la duda q tenia. Título: Re: Problema con variable Publicado por: ^Tifa^ en 1 Agosto 2008, 14:53 pm No se en que lenguaje harias eso, pero si, es posible asignar valor a variables distintos valores digo a la misma variable dentro de un bucle. Por ejemplo ;;
Código: main(void) { int a, b, c; for (a=0;a<4;a++) { b = a; c = a+1; fprintf(stdout, "%i %i\n", b, c); } return 0; } Eso es en C, use un for como bucle hasta el 4, como veras tengo 3 variables enteras, donde uso la primera como contador del bucle, y se la voy asignando tanto a la variable b, como a la variable c sumandole un 1. Cada vez que se imprima con el printf que vez dentro del bucle, saldra esto :: bash-3.1$ ./a.out 0 1 1 2 2 3 3 4 Donde la primera file corresponde a b, y la segunda a c. Vez como van cambiando los valores de las variables dentro del bucle? no se si mas o menos esto es lo que andas buscando, pero asignar valor a variables dentro de un bucle es posible. Título: Re: Problema con variable Publicado por: kraszic en 1 Agosto 2008, 15:38 pm Se me olvido especificar q mi duda era en batch.
Pero de todas formas no es eso lo q busco, mi intencion no es modificar el valor de la variable. Mi intencion es declarar nuevas variables mediante el bucle, el problema q tengo es q hay q poner una variable dentro de otra variable y eso no se como se hace o si se puede hacer. saludos Título: Re: Problema con variable Publicado por: $hyDow en 1 Agosto 2008, 20:26 pm no te entendi, pero el code esta mal
echo %var%ini%% seria: echo %var%%ini% Título: Re: Problema con variable Publicado por: kraszic en 1 Agosto 2008, 20:46 pm no te entendi, pero el code esta mal noo, esa es mi duda exactamente..echo %var%ini%% seria: echo %var%%ini% Tengo un contador q aumenta (1, 2, 3, 4, 5...) Ese contador lo guardo en la variable ini. Y lo q quiero es definir las variables en el bule de esta forma: var1 var2 var3 Por eso pongo, set var%ini%=loquesea con ini le doy un numero a esa variable, de modo q si ini=1, el resultado seria: set var1=loquesea Entonces lo q yo quiero hacer es imprimir esa variable, por eso pongo: echo %var%ini%% Lo que quiero es imprimir la variable; var1 (ini es el numero, y todo junto es el nombre de la variable) Espero q me entiendan.. Voy a poner otro ejemplo q se ve mas clara mi intencion. Código: set ini=0 set /p crip=Introduzca una palabra de 10 digitos: :bucle if %ini%==9 goto acab set vacr=%crip:~%ini%,1% call :loquesea rem Ignorar el call set /a ini=%ini%+1 goto bucle En este code hay otro ejemplo de una variable dentrode otra variable en la linia: Código: set vacr=%crip:~%ini%,1% En este codigo, lo q intento consegir, es sacar todas las letras de la palabra guardada en la variable crip, de modo q primero guarde la primera letra, despues guarde la segunda...saludos Título: Re: Problema con variable Publicado por: carlitos.dll en 1 Agosto 2008, 21:06 pm Código: You can use the :~ syntax and provide each of the parameters from other variables, for example if you have %_donor%=2539850 %_digit%=4 To extract digit # 4 from _donor you might try SET _substring=%_donor:~%_digit%,1% Unfortunately this will not work because the :~ syntax expects a value not a variable. To get around this use the CALL command like this: SET _startchar=2 SET _length=1 SET _donor=884777 CALL SET _substring=%%_donor:~%_startchar%,%_length%%% ECHO (%_substring%) :: Credits: :: Clay Calvert - alt.msdos.batch.nt :: Ritchie Lawrence - alt.msdos.batch.nt Fuente:http://www.ss64.com/ntsyntax/varsubstring.html call set vacr=%%crip:~%ini%,1%% lo mismo que quieres hacer, pero le añades un call antes del set y un % al principio y otro al final. no solo con set: call echo %%crip:~%ini%,1%% Título: Re: Problema con variable Publicado por: kraszic en 2 Agosto 2008, 00:42 am mil gracias, me has salvado xD
Eso es justo lo q necesitaba saludos |