怎么使用批处理bat设置静态IP地址和动态IP?

win10和win7区别吗?如果有区别,能给出两组详细代码最好

第1个回答  2020-08-21
以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI
@echo off
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("""%~f0""","rem",,"runas",1)(window.close)&exit
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
set "interface="
>"%tmp%\j.j" echo;while(!WSH.StdIn.AtEndOfStream){WSH.echo(WSH.StdIn.ReadLine().replace(/\s*$/,''));}
set comm=wmic nic where "NetEnabled=TRUE" get NetConnectionID /value
setlocal enabledelayedexpansion
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=选择需要设置的网络连接/适配器,输入数字序号并按回车键:
if defined _#%c% (set "interface=!_#%c%!") else (
set /p interface=输入需要设置的网络连接/适配器的名称:
)
if not defined interface (echo;Failed to get interface name&goto end)
echo;
echo;1、固定/静态IP
echo;2、动态IP
echo;
set "c="
set /p c=选择设置IP的方式,输入数字序号并按回车键:
if "%c%" equ "1" goto sub1
if "%c%" equ "2" goto sub2
goto end
:sub1
set ip=静态IP
set mask=子网掩码
set gateway=网关
set dns1=主DNS
set dns2=次DNS
netsh interface ip set address name="%interface%" source=static address=%ip% mask=%mask% gateway=%gateway%
netsh interface ip set dns name="%interface%" source=static address=%dns1% register=PRIMARY
if defined dns2 (netsh interface ip add dns name="%interface%" address=%dns2% index=2)
goto end
:sub2
netsh interface ip set address name="%interface%" source=dhcp
netsh interface ip set dns name="%interface%" source=dhcp
:end
echo;%#% +%$%%$%/%@% %z%
pause
exit
相似回答