一个超好的更改IP地址的批处理文件_操作系统
070510 增加了创建多套默认配置的选项,选“3”创建多套配置后后,可以选“1”快速恢复成需要的配置。
061105 又更新了,增加了DHCP,和察看当前状态的功能。
代码:
@echo off
cls
color 0A
echo ****************
echo IP地址快速切换
echo 作者:Benase
echo 版本:070510
echo ****************
set IP=192.168.100.1
set MASK=255.255.255.0
set GATEWAY=192.168.100.1
set DNS1=202.106.0.20
set DNS2=202.106.196.115
set INTERFACE=本地连接
set POLICY=1
:MENU
echo.
echo 快速设置请按 1
echo.
echo 手工设置请按 2
echo.
echo 创建默认请按 3
echo.
echo 自动获取请按 4
echo.
echo 察看状态请按 5
echo.
echo 退出请按任意键
echo.
set /p KEY= [请输入您的选择:]
if %KEY% == 1 goto QUICK
if %KEY% == 2 goto MANUAL
if %KEY% == 3 goto DEFAULT
if %KEY% == 4 goto DHCP
if %KEY% == 5 goto LOOK
goto END
:LOOK
echo.
ipconfig
echo.
echo 本程序默认修改的是“本地连接”的设置
echo.
echo 需要修改请按相应的数字键,
echo.
echo 例如:输入2表示改为“本地连接 2”
echo.
echo 英文操作系统请按e2,任意键继续!
echo.
set /p INTEMP= [请输入本地连接的编号]
if %INTEMP% == 1 set INTERFACE=本地连接
if %INTEMP% == 2 set INTERFACE=本地连接 2
if %INTEMP% == 3 set INTERFACE=本地连接 3
if %INTEMP% == 4 set INTERFACE=本地连接 4
if %INTEMP% == 5 set INTERFACE=本地连接 5
if %INTEMP% == e1 set INTERFACE=Local Area Connection
if %INTEMP% == e2 set INTERFACE=Local Area Connection 2
if %INTEMP% == e3 set INTERFACE=Local Area Connection 3
if %INTEMP% == e4 set INTERFACE=Local Area Connection 4
if %INTEMP% == e5 set INTERFACE=Local Area Connection 5
cls
goto MENU
:QUICK
set /p POLICY= [请输入默认设置的名称,中文、英文或数字:]
if exist ip"%POLICY%".txt goto QDO
echo.
echo 没有发现默认设置文件!
goto END
:QDO
netsh -f .\ip"%POLICY%".txt
echo.
echo %POLICY% 默认设置已经完成设置!
goto END
:DEFAULT
set /p POLICY= [请输入默认设置的名称,中文、英文或数字]
netsh -c interface ip dump > .\ip"%POLICY%".txt
echo.
echo %POLICY% 默认设置已经生成!
goto END
:DHCP
echo.
echo 快速设置IP地址和DNS为“自动获得”
echo.
netsh interface ip set address "%INTERFACE%" dhcp
netsh interface ip set dns "%INTERFACE%" dhcp
goto END
:MANUAL
ECHO.
ECHO 您选择了手工修改设置。
ECHO.
echo 默认IP地址是%IP%,回车输入默认地址
set /p IP= [请输入 IP 地址:]
echo.
echo 默认MASK是%MASK%,回车输入默认值
set /p MASK= [请输入 MASK 地址:]
echo.
echo 默认网关地址是%GATEWAY%,回车输入默认地址
set /p GATEWAY= [请输入GATEWAY地址:]
ECHO.
echo 默认主DNS地址是%DNS1%,回车输入默认地址
set /p DNS1= [请输入主 DNS地址:]
echo.
echo 默认第二DNS地址是%DNS2%,回车输入默认地址
set /p DNS2= [请输入第二DNS地址:]
echo.
goto LIST
:LIST
echo 即将对“%INTERFACE%”进行设置
ECHO 即将生效的 IP 地址是%IP%
ECHO 即将生效的 MASK 是%MASK%
ECHO 即将生效的GATEWAY地址是%GATEWAY%
ECHO 即将生效的 主DNS 地址是%DNS1%
ECHO 即将生效的第二DNS地址是%DNS2%
echo.
set /p REEN= [马上更改请按 1,重新设置请按 2,退出请按任意键]
if %REEN% == 1 goto DO
if %REEN% == 2 goto MANUAL
GOTO END
:DO
echo.
echo 正在更改IP......
echo.
echo IP地址及子网掩码设置完成
netsh interface ip set address name="%INTERFACE%" source=static addr=%IP% mask=%MASK%
echo 网关地址设置完成
netsh interface ip set address name="%INTERFACE%" gateway=%GATEWAY% gwmetric=0
echo 主DNS地址设置完成
netsh interface ip set dns name="%INTERFACE%" source=static addr=%DNS1% register=PRIMARY
echo 第二DNS地址设置完成
netsh interface ip add dns name="%INTERFACE%" addr=%DNS2% index=2
goto end
:end
echo.
pause