Pequeñas dudas bat, for

Iniciado por edunardo, 22 Diciembre 2008, 18:09 PM

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

edunardo

Hola a todos.
No se que me pasa que no me funciona un for sencillito que estaba probando para ejecutar un ping a varios equipos...

El for sería así

for /L %a in (1,1,254) do echo %a%

He probado poniendo los % de mil maneras pero no logro que la variable vaya cogiendo los diferentes valores 1,2,3,4----254 algo pongo mal.

Por otro lado la pregunta, es, para que esto funcione tengo que definir una variable numerica? o el propio for la crea. De tener que crearla como sería con set /n variable?

gracias.

Pony-Magic

for /L %%a in (1,1,254) do (echo %%a)

edunardo

agg era el maldito paréntesis, ahora si funciona.

Ya solo me falta que se metan solo los equipos que responden, la sintaxis que he pensado es esta pero por algún motivo no le gusta como lo pongo.

for /L %%a in (1,1,254) do (ping -a 192.168.1.%%a -n 2 && >> "prueba5.txt")

Lo que quiero es que los equipos que respondan al ping se escriban en el archivo prueba.txt.
El problema es que si pongo el && me da un error que parece de sintaxis.
No se donde fallo.

leogtz

Sin testear :
Código (dos) [Seleccionar]
@ECHO OFF
FOR /L %%X IN (1,1,255) DO (
PING 192.168.1.%%X && (
ECHO %%X >> PRUEBA5.TXT
)
)
Código (perl) [Seleccionar]

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

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

edunardo

Si que funciona Leo, el caso es que así solo obtengo la ip, pero el objetivo es guardar ip y nombre de host. De ahí que haga el ping -a.

leogtz

@ECHO OFF
FOR /L %%X IN (64,1,64) DO (
PING -a 192.168.1.%%X && (
FOR /F "TOKENS=4" %%C IN ('PING -a 192.168.1.%%X ^| FIND /I "Haciendo"') DO (
ECHO %%C: >> PRUEBA5.TXT
ECHO 192.168.1.%%X >> PRUEBA5.TXT
)
)
)


Me genera algo como esto en el PRUEBA5.TXT (Solo los que respondieron al ping):
jimmar.gateway.2wire.net:
192.168.1.64
Código (perl) [Seleccionar]

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

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

edunardo

Eso había pensado, el anidar un for en el otro pero no tenía muy claro como hacerlo.
Excelente código gracias.