Almacenar ip despues de un ping

Iniciado por Ismaw34, 30 Julio 2008, 15:26 PM

0 Miembros y 2 Visitantes están viendo este tema.

Ismaw34

Saludos a todos, despues de leer muchos posts y de que me ayuden tanto, me surgio una duda que no esta resuelta (o eso creo)

Mi problema es que quiero hacer un batch pero que haga lo siguiente
1 hacer el ping a una web y que se almacene en el cache o algo
2 usar esa ip para otro programa

Os cuento:
Tengo un server de un juego online, pero como mi ip cambia, necesito un ping que luego escriba la ip en el hosts del system32

un ejemplo seria:
@echo off
ping "direccion web"
·comando que me falta para almacenar, probe %ip% pero no funciono·
echo %la ip del ping% >> %windir%\system32\drivers\etc\hosts


El modificar el solo lectura y demas ya se gracias a un tutorial que encontre.

Gracias a todos de antemano.
Ismaw34

Novlucker

Una consulta.... para que es que guardas la ip en el archivo hosts exactamente?

CitarTengo un server de un juego online

Te refieres a que tu mismo tienes un servidor? o es de alguien más?

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

Ismaw34

El servidor es mio, y me gustaria usar esa utilidad para que los demas usuarios no tubieran que comerse la cabeza para cambiar la ip cada 2 por 3, solo en unos simples clics, cambiarlas

Saludos

kraszic

#3
Buenas, eso se puede hacer facilmente mediante un for.
Aqui el code:

Código (dos) [Seleccionar]

@echo off

ping www.google.es > respuesta.txt

rem Hacemos un ping a google por ejemplo (o tu web) y guardamos la respuesta en un archivo de texto.

FOR /F "skip=4 tokens=3 delims= " %%a IN (respuesta.txt) DO call :func %%a

:func
set var=%1
set var=%var::=%
echo %var% >> %windir%\system32\drivers\etc\hosts

rem Mediante el comando for, y otros apaños cogemos la ip y la guardamos en la variable var.

del /q respuesta.txt

rem Por ultimo eliminamos el archivo de texto.

pause>nul
exit


Te recomiendo el tutorial de siderckcat de programacion de batch avanzada, esta muy bien y explica los usos del comando for.

saludos

Novlucker

#4
Eso se soluciona fácil.... NO-IP, create una cuenta en no-ip instalate el programita del no-ip y el se encargará de actualizarla, pasale a tus usuarios tu dns no-ip... y listo....  ;D

CitarBuenas, eso se puede hacer facilmente mediante un for.

Creo que no se puede.... supongo que tu quieres la ip de tu servidor para agregarla al hosts asignandole una dns, pero no puedes hacer ping a una dirección dns que no existe, que no esta agregada antes en el hosts, es decir, intentarías hacer ping a una dirección "fantasma"y por ende no devolvería nada  :rolleyes:

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

Ismaw34

#5
Muchas gracias kraszic, me has ayudado mucho.

@Novlucker
Tengo una cuenta no-ip, lo que pasa es que la ip de lo del juego on-line debe de ser otra direccion, y por lo tanto, debe de almacenarla en el host. La ip de mi web, debe de ser la misma que la otra, me comprendes?

Lo que ahora  me surge un problema, la linea del host, no se elimina, y por lo tanto, se cruzan varias ips.

Habria alguna forma de solucionar el problema, comprobando si hay una linea de host y si exsiste, eliminarla?

Gracias a todos.

Novlucker

Ahora si, ya entendí, tu tienes una dirección no-ip, y a ella haces ping... obtienes la ip de respuesta, y la guardas en el hosts, asignandole una nueva dns, ahora si....
CitarHabria alguna forma de solucionar el problema, comprobando si hay una linea de host y si exsiste, eliminarla?
Y si lo creas de cero?  ;)

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

kraszic

#7
Yo la unica pregunta q conteste realmente fue lo de almacenar la ip en una variable para ponerla en el archivo de host.

Sobre lo demas, no entiendo muy bien como funciona el archivo de host y no creo q pueda serte de gran ayuda.
Lo unico q te puedo decir es q si quieres borrar el archivo de host y poner solamente la ip guardada en la variable solo tienes q cambiar esto:
Código (dos) [Seleccionar]
echo %var% >> %windir%\system32\drivers\etc\hosts
por esto:
Código (dos) [Seleccionar]
echo %var% > %windir%\system32\drivers\etc\hosts

Pero con esto borrarias todo el archivo de host y no creo q te interese

saludos

Ismaw34

Gracias a todos, ya me solucione el problema.

Saludos

Novlucker

#9
De nada....  XD

Y la solución a sido......?

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein