ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 批处理实现的ip地址切换的复杂脚本

批处理实现的ip地址切换的复杂脚本

原创 Linux操作系统 作者:BTxigua 时间:2008-03-18 20:48:46 0 删除 编辑

@echo off
cls
echo ****************
echo IP地址切换
echo 版本:070510
echo ****************
echo.
echo 070510版--增加了创建多套默认配置的选项,选“3”创建多套配置后后,可以选“1”快速恢复成需要的配置。
echo.
echo 061105版--又更新了,增加了DHCP,和察看当前状态的功能。
echo.
set IP=220.114.111.253
set MASK=255.255.255.0
set GATEWAY=220.114.111.129
set DNS1=211.162.31.8
set DNS2=211.162.31.9
set INTERFACE=本地连接
set POLICY=1

:MENU
echo.
echo 快速设置请按-1
echo.
echo 手工设置请按-2
echo.
echo 创建默认请按-3
echo.
echo 自动获取请按-4
echo.
echo 察看状态请按-5
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

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10867315/viewspace-211572/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-01-31

  • 博文量
    101
  • 访问量
    278167