(SOLUCIONADO) [ BATCH ] Duda general SET y FOR

Iniciado por SuperDraco, 21 Marzo 2011, 15:42 PM

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

SuperDraco

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
No he vuelto, solo estoy de paso.

leogtz

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.
Código (perl) [Seleccionar]

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

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

SuperDraco

Vale! eso es lo que quería saber yo, habia probado con setlocal enabledelayedexpansion pero me faltaba ! para expandir, vale ya voy aprendiendo.

Gracias.
No he vuelto, solo estoy de paso.