需求很简单,因为有时需要切换IP(电信/网通),每次都打开网络设置很麻烦,于是写了个批处理工具。目前存在一个不智能的地方是需要自己配置网路地址的名称(批处理文件的第11行),比如我是windows 8.1中文版的无线连接方式,对应的名称就是"WLAN",这个名称不知道如何通过命令获取。。。请知道的朋友告知下。网络地址可能的名称应该有(分别对应中英文系统):
- "本地连接"
- "WLAN"
- "Wifi"
- “Local Area Connection"
批处理文件如下,请复制后用记事本另存为xxx.bat格式,编码类型选择ANSI,运行需要右击选择管理员身份运行。
```
@
echo off
rem mode con cols=30 lines=5
Color eee
:head
cls
title ::修改IP/DNS程序::
cls
set IP=192.168.1.2
set MASK=255.255.255.0
set GATEWAY=192.168.1.1
set NAME="WLAN"
set DNS1=114.114.114.114
set DNS2=8.8.8.8
echo.&echo.
echo 修改IP/DNS程序:
echo -----1.设置动态IP
echo -----2.设置静态IP
echo -----3.设置自动DNS
echo -----4.设置静态DNS
echo -----5.查看当前IP配置
echo -----0.退出
echo.
set /p s= 选择(1,2,3,4,5,0):
echo %s%|findstr /be "[0-5]*" >nul &&goto:sta||(echo 输入错误,请重新输入&echo.&pause&goto:head)
echo.&%0
:sta
if "%s%"=="1" goto:dynamicIP
if "%s%"=="2" goto:staticIP
if "%s%"=="3" goto:dynamicDNS
if "%s%"=="4" goto:staticDNS
if "%s%"=="5" goto:review
if "%s%"=="0" goto:end
:dynamicIP
netsh interface ip set address %NAME% source=dhcp
echo 已设置动态IP
echo.
echo.
pause
goto:head
:staticIP
echo 默认IP地址是%IP%,回车输入默认地址(%IP%)
set /p IP= [请输入IP地址:]
echo.
echo 默认MASK是%MASK%,回车输入默认值(%MASK%)
set /p MASK= [请输入 子网掩码 地址:]
echo.
echo 默认GATEWAY是%GATEWAY%,回车输入默认值(%GATEWAY%)
set /p GATEWAY= [请输入 网关 地址:]
echo.
netsh interface ip set address %NAME% source=static addr=%IP% mask=%MASK% gateway=%GATEWAY%
echo 已设置静态IP
echo.
echo.
pause
goto:head
:dynamicDNS
netsh interface ip set dns %NAME% source=dhcp
echo 已设置自动DNS
echo.
echo.
pause
goto:head
:staticDNS
echo 默认首选DNS地址是%DNS1%,回车输入默认地址(%DNS1%)
set /p DNS1= [请输入首选DNS地址:]
echo.
echo 默认备用DNS地址是%DNS2%,回车输入默认地址(%DNS2%)
set /p DNS2= [请输入备用DNS地址:]
echo.
netsh interface ip set dns %NAME% source=static addr=%DNS1% register=PRIMARY
netsh interface ip add dns %NAME% addr=%DNS2% index=2
echo 已设置静态DNS
echo.
echo.
pause
goto:head
:review
cls
ipconfig
pause
goto:head
:end
exit
```
另外,我也想知道Mac下修改ip的脚本,不妨贴在楼下,方便大家使用。
谢谢。