[batch]Crear lista de direcciones

Iniciado por Floreal, 26 Abril 2009, 21:19 PM

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

Floreal

Hola a la comunidad, este es mi primer post de muchos y recurro a su ayuda porque no la tengo muy clara con la programación en este momento, pero sigo la carrera asi que mas adelante espero salvaguardar las dudas de otros.

Mi idea es crear un script en batch que sea capaz de leer la dirección IP que se esta usando al momento y guardarla en un txt, luego renovarla y una ves obtenida la nueva
.) Si es la misma y rehacer el paso anterior
.) Si es distinta almacenarla en un txt (con la que ya estaba guardada) y terminar

Estoy podría ser util para sitios como rapidshare o megaupload u otros que te baneen la ip impdiendote seguir con el procedimiento que estabas llevando a cabo.

Bueno hasta ahora tengo lo siguiente (algunas cosas las saqué de acá)

En mi caso tengo ip fija, asi que no basta con un /renew pero agregandole una ip manual y despues obteniendo una del dhcp obtengo una ip diferente  (puede ser que te toque la misma, cuestión de probabilidad, pero a medida que se van usando la probabilidad aumenta)

[codigo]
ipconfig /release conexion
netsh interface ip set address name="conexion" source=static addr=1.1.1.1 mask=255.255.255.0
netsh interface ip set address name="conexion" source=dhcp
[/codigo]

Esta parte la saqué de este foro. La ip es guardada en tuip.txt. El único problema que veo es que lo guarda con un espacio adelante y otro atrás, ej:" 192.168.0.1 "
Tampoco se como agregar una linea a un txt por ejemplo :s
[codigo]
@echo on
ipconfig /all>tuip.txt
FOR /f "tokens=2 delims=:" %%a in ('find /I " IP" tuip.txt') do (set tuip=%%a)
del tuip.txt
echo %tuip%>tuip.txt
[/codigo]

Bueno, hasta ahi llegué, al que me de una manito para ver como seguir le estaré agradecido.

Saludos

leogtz

Hola, a ver si te sirve esto :
Código (dos) [Seleccionar]
@echo off
:: Leer direccion que se esta usando al momento y guardarla en un .txt:
for /f "tokens=3" %%_ in ('netsh diag show ip ^| find /i "ipaddress"') do (
echo %%_ > "ip.txt"
)
:: RENOVAR LA IP
:: Volver a sacar la ip, y compararla con la del .txt :
for /f "tokens=3" %%_ in ('netsh diag show ip ^| find /i "ipaddress"') do (
set "ip=%%_"
)
for /f "tokens=1" %%_ in (ip.txt) do (
set "ip_txt=%%_"
)
:: Se tienen las dos variables, se comparan :
if "%ip%"=="%ip_txt%" (
echo.Iguales
rem Acciones
) else (
echo.No iguales
rem Acciones
)

-El codigo guarda la direccion IP actual en un archivo de texto llamado "ip.txt".
-Se renueva la IP (Eso lo haces tu).
-Se vuelve a sacar la IP actual, se guarda en una variable, comparar se luego.
-Se coge la direccion IP del archivo de texto, y se guarda en una variable de texto.
-Luego se hace la comparación.

Saludos.
Código (perl) [Seleccionar]

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

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