Para aquellos que desean poder configurar la puerta de enlace y los DNS de una PC, aquí les dejo un «script» en batch del DOS. Para usarlo es necesario primero configurar las variables: Prta, DNS1, DNS2 y NOMBRE. Esta última variable es el nombre de la conexión de red que se desee cambiar y debe ser escrito en el código del batch, que no es el mismo que el del Windows para los caracteres tildados.
Notar que para configurar la puerta de enlace, se obtiene primero la direción IP usando el comando «ipconfig» y las cadenas «Dirección IP» y «192». Si la configuración de Red estuviera en inglés, estos comandos no funcionarán apropiadamente. Además se usa la cadena «192» para filtrar el caso en que aparezca una direccióna adicional IPv6 como resultado del «ipconfig».
Esta pensado para trabajar en Windows XP y Windows 7, pero puede ser adaptado fácilmente para otros sistemas operativos. Observar que para Windows 7, debe ser ejecutado en modo Administrador.
Para usar este «script», debe copiarse el siguiente contenido en un archivo con extensión «bat» y configurar las variables.
@ECHO OFF REM ================== Parámetros ===================== REM = No poner espacios antes ni después del igual. = REM =================================================== SET Prta=192.168.1.1 SET DNS1=200.62.191.11 SET DNS2=200.24.191.12 SET NOMBRE=Conexi¢n de rea local REM ====== obtiene sistema operativo ========= VER | FINDSTR /L "5.0" > NUL IF %ERRORLEVEL% EQU 0 SET SO=2000 VER | FINDSTR /L "5.1." > NUL IF %ERRORLEVEL% EQU 0 SET SO=XP VER | FINDSTR /L "5.2." > NUL IF %ERRORLEVEL% EQU 0 SET SO=2003 VER | FINDSTR /L "6.0." > NUL IF %ERRORLEVEL% EQU 0 SET SO=Vista VER | FINDSTR /L "6.1." > NUL IF %ERRORLEVEL% EQU 0 SET SO=W7 ECHO Sistema Operativo es: %SO% REM ======= obtiene dirección IP =========== ipconfig | findstr "Dirección IP" | findstr "192" > lineaip.txt for /f "tokens=2 delims=:" %%x in (lineaip.txt) do set IP=%%x IF "%IP%"==" GOTO :ERROR ECHO Dirección IP es: %IP% ECHO ============= Configuración ============ IF %SO%==XP GOTO :esxp IF %SO%==W7 GOTO :esw7 goto :NO_SO :esxp echo "Configurando XP" netsh interface ip set address "%NOMBRE%" static %IP% 255.255.255.0 %Prta% 1 netsh interface ip set dns "%NOMBRE%" static %DNS1% netsh interface ip add dns "%NOMBRE%" %DNS2% index=2 IF %ERRORLEVEL% EQU 0 EXIT GOTO :ERR_RED :esw7 echo "Configurando W7" netsh interface ip set address "%NOMBRE%" static %IP% 255.255.255.0 %Prta% 1 netsh interface ip set dnsservers "%NOMBRE%" static %DNS1% netsh interface ip add dnsservers "%NOMBRE%" %DNS2% index=2 IF %ERRORLEVEL% EQU 0 EXIT GOTO :ERR_RED :NO_SO ECHO "!!!No se reconoce Sistema Operativo" PAUSE EXIT :ERROR ECHO "!!!No se pudo obtener IP" PAUSE EXIT :ERR_RED ECHO "!!!Error configurando Red" PAUSE EXIT
¿Cómo citar este artículo?
- En APA: Hinostroza, T. (22 de abril de 2013). Configurar puerta de enlace e IP por batch. Blog de Tito. https://blogdetito.com/2013/04/22/configurar-puerta-de-enlace-e-ip-por-batch/
- En IEEE: T. Hinostroza. (2013, abril 22). Configurar puerta de enlace e IP por batch. Blog de Tito. [Online]. Available: https://blogdetito.com/2013/04/22/configurar-puerta-de-enlace-e-ip-por-batch/
- En ICONTEC: HINOSTROZA, Tito. Configurar puerta de enlace e IP por batch [blog]. Blog de Tito. Lima Perú. 22 de abril de 2013. Disponible en: https://blogdetito.com/2013/04/22/configurar-puerta-de-enlace-e-ip-por-batch/
Excelente!! Me ayudo a comprender mejor el uso de IF en batch