elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  valor variable bucle FOR [Batch]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: valor variable bucle FOR [Batch]  (Leído 17,563 veces)
Narcosala

Desconectado Desconectado

Mensajes: 2


Ver Perfil
valor variable bucle FOR [Batch]
« en: 17 Octubre 2008, 19:35 pm »

Hola,

Estaba realizando un simple script cuando me he encontrado con la imposibilidad de tratar el valor de una variable dentro de un bucle FOR. Dicha variable solo coge su valor una vez ha abandonado el script.

¿Alguien me puede indicar como solucionarlo?

Aquí os pongo tanto el código como la salida del mismo:

Citar
@ECHO OFF
SET /A NUM=0
FOR /L %%A IN (1,1,5) DO (
SET /A NUM=NUM+%%A
ECHO Valor Num en bucle: %NUM%
)
ECHO Variable Num finalizado bucle: %NUM%

Salida:

Citar

C:\>Batch.bat
Valor Num en bucle: 0
Valor Num en bucle: 0
Valor Num en bucle: 0
Valor Num en bucle: 0
Valor Num en bucle: 0
Variable Num finalizado bucle: 15
C:\>


Gracias.


En línea

Darioxhcx


Desconectado Desconectado

Mensajes: 2.294


Ver Perfil
Re: valor variable bucle FOR [Batch]
« Respuesta #1 en: 17 Octubre 2008, 22:59 pm »

FOR /L %%x in ( 0,1,5 ) Do ( echo %%x )

te devuelve

0
1
2
3
4
5

saludos


En línea

Narcosala

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: valor variable bucle FOR [Batch]
« Respuesta #2 en: 18 Octubre 2008, 16:46 pm »

Estoy deacuerdo con tu respuesta, pero si intento asignar el valor de %%x a otra variable, esta última no toma valor hasta que se abandona el bucle.
En línea

Baphonet

Desconectado Desconectado

Mensajes: 25



Ver Perfil
Re: valor variable bucle FOR [Batch]
« Respuesta #3 en: 19 Octubre 2008, 22:27 pm »

Hace poco me encontre con el mismo problema y  opte por solucionarlo mediante un call, creando una sección aparte para las operaciones dentro del bucle. Asi:
Código:
@ECHO OFF
SET /A NUM=0
FOR /L %%A IN (1,1,5) DO (call :cont %%A)

ECHO Variable Num finalizado bucle: %NUM%
pause
exit

:cont
SET /A NUM=NUM+%1
ECHO Valor Num en bucle: %NUM%
goto :eof

Un saludo, espero que te sirva.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Modificaciones del valor de una variable en un .php
PHP
dimitrix 2 1,994 Último mensaje 10 Marzo 2011, 02:29 am
por Castg!
[Bash]Saber valor del último parámetro sin bucle
Scripting
hervasiop12345 1 2,702 Último mensaje 26 Septiembre 2011, 12:25 pm
por hervasiop12345
Cambiar el Valor de una Variable a una hora concreta
Java
thechacal23 4 3,694 Último mensaje 3 Enero 2012, 03:47 am
por Proteus1989
[BATCH] Evitar Bucle durante Redireccionamiento Fallido
Scripting
DA KILLER 0 2,141 Último mensaje 10 Marzo 2012, 03:32 am
por DA KILLER
Bucle for que se incremente una variable
.NET (C#, VB.NET, ASP)
aspiazu 3 2,779 Último mensaje 28 Mayo 2016, 05:52 am
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines