Foro de elhacker.net

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
  1. @ECHO OFF
  2.  
  3. for /f %%a in ('type c:\lista.txt .') do (
  4. set ip=%%a
  5. echo %ip%
  6. )
  7.  
  8. echo %ip%
  9.  

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
  1. @ECHO OFF
  2. setlocal enabledelayedexpansion
  3.  
  4. for /f %%a in ('type c:\lista.txt') do (
  5. set ip=%%a
  6. echo !ip!
  7. )
  8.  

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.