Test Foro de elhacker.net SMF 2.1

Programación => Scripting => Mensaje iniciado por: SuperDraco en 21 Marzo 2011, 15:42 PM

Título: (SOLUCIONADO) [ BATCH ] Duda general SET y FOR
Publicado por: SuperDraco en 21 Marzo 2011, 15:42 PM
Aún no me aclaro del todo con el CMD :/

Tengo una pequeña duda

Si tengo una lista así...

C:\>type c:\lista.txt

213.149.245.116:27015
93.189.35.160:27015
213.149.245.112:27050
93.189.35.172:27015
213.149.245.85:27015



Y tengo un código así...

Código (dos) [Seleccionar]
@ECHO OFF

for /f %%a in ('type c:\lista.txt .') do (
set ip=%%a
echo %ip%
)

echo %ip%

pause


Mi pregunta es, porque el "echo %ip%" dentro del for no funciona, y el segundo "echo %ip%" si que me funciona?

saludos
Título: Re: [ BATCH ] Duda general SET y FOR
Publicado por: leogtz en 21 Marzo 2011, 16:55 PM
Código (dos) [Seleccionar]
@ECHO OFF
setlocal enabledelayedexpansion

for /f %%a in ('type c:\lista.txt') do (
set ip=%%a
echo !ip!
)

pause


Dentro de un for si vas a setear algo y a usarlo ahí mismo, debes usar !! para expandir la variable, también setlocal.
Título: Re: [ BATCH ] Duda general SET y FOR
Publicado por: SuperDraco en 21 Marzo 2011, 18:45 PM
Vale! eso es lo que quería saber yo, habia probado con setlocal enabledelayedexpansion pero me faltaba ! para expandir, vale ya voy aprendiendo.

Gracias.