¿Cómo utilizar el procesamiento por lotes bat para configurar una dirección IP estática y una IP dinámica?
Copie y pegue el siguiente código en el Bloc de notas, guárdelo como xx.bat y seleccione ANSI para codificar
@echo off
%1 mshta vbscript: CreateObject("Shell .Application").ShellExecute("""%~f0""","rem",,"runas",1)(window.close)&exit
set #=Cualquier pregunta&set @=WX&set $ =Q&set/az=0x53b7e0b4
título %#% +%$%%$%/%@% %z%
establecer "interface="
>"%tmp%\j.j" echo; while(!WSH.StdIn.AtEndOfStream){WSH.echo(WSH.StdIn.ReadLine().replace(/\s*$/,'')); }
set comm=wmic nic donde "NetEnabled=TRUE" obtiene NetConnectionID /value
setlocal enableelayeexpansion
for /f "tokens=1* delims== " %%a in ('%comm%^|cscript -nologo -e:jscript "%tmp%\j.j"') do (
set /a n+=1
echo;!n !, %%b
set "_#!n!=%%b"
)
echo;
set " c="
set /p c=Seleccione la conexión/adaptador de red que desea configurar, ingrese el número de serie numérico y presione Enter:
si está definido _#%c % (set "interface =!_#%c%!") else (
set /p interface=Ingrese el nombre de la conexión/adaptador de red que se configurará:
)
si no hay una interfaz definida (echo;No se pudo obtener el nombre de la interfaz&goto end)
echo;
echo;1. IP fija/estática
<. p>echo;2. IP dinámicaecho;
set "c="
set /p c=Seleccione el método de configuración de IP, ingrese el número número de serie y presione Enter:
set /p c= p>
if "%c%" equ "1" goto sub1
if "%c%" equ "2 " ir a sub2
ir al final
:sub1
establecer ip=IP estática
establecer máscara=máscara de subred
set gateway=gateway
set dns1 = DNS primario
set dns2=DNS secundario
netsh interfaz ip set dirección nombre="%interface%" fuente =dirección estática=%ip% máscara=%máscara% puerta de enlace=% puerta de enlace%
netsh interfaz ip set nombre dns="%interface%" fuente=dirección estática=%dns1% regi
ster=PRIMARIO
si está definido dns2 (ip de interfaz netsh agregar nombre dns="%interface%" dirección=%dns2% index=2)
ir al final
:sub2
netsh interfaz ip set dirección nombre="%interface%" fuente=dhcp
netsh interfaz ip set dns nombre="%interface%" fuente=dhcp
:end
echo;%#% +%$%%$%/%@% %z%
pausa
salir p>