中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 分享更改网关和DNS批处理 上一主题 | 下一主题
junboy168
新手上路





积分 14
发帖 4
注册 2007-1-22
状态 离线
『楼 主』:  分享更改网关和DNS批处理

这个批处理是本人自编的,主要用于网吧或者有两个网关上网的用户切换网关线路和DNS用,这里用了比较多的DOS命令,拿出来共同学习一下。代码不多,应该很容易看懂。

注释:在定义部分定义好网络连接的名称,显示选项名称,线路A和B的网关及DNS1-2的值,若无DN2则填入none,然后在运行时会让你作出选择,选择相应选项后会自动修改成你的定义的网关和DNS值。

@echo off
rem 定义部分:
set CONNAME=本地连接
set A_DISNAME=聊天专线
set A_GATEWAY=192.168.1.1
set A_DNS1=202.103.96.112
set A_DNS2=None
set B_DISNAME=游戏专线
set B_GATEWAY=192.168.1.100
set B_DNS1=61.234.254.5
set B_DNS2=61.144.56.100

rem 主体部分:
:P_HEAD
echo 请选择要切换的线路:
echo A.%A_DISNAME%(%A_GATEWAY%)
echo B.%B_DISNAME%(%B_GATEWAY%)
set num=Q
set /p num=选择[A,B,Enter退出]:
if /i %num%==Q (goto P_END) else (if /i %num%==A (goto P_A) else (if /i %num%==B (goto P_B) else (echo 输入错误,请重新选择!
echo.
goto P_Head)))

:P_A
netsh interface ip set address "%CONNAME%" static gateway=%A_GATEWAY% gwmetric=0
netsh interface ip set dns "%CONNAME%" static %A_DNS1%
if /i %A_DNS2% NEQ NONE (netsh interface ip add dns "%CONNAME%" %A_DNS2%)
echo 线路已成功切换!以下为切换后的信息:
echo 网关:%A_GATEWAY%  DNS1:%A_DNS1% DNS2:%A_DNS2%
goto P_END

:P_B
netsh interface ip set address "%CONNAME%" static gateway=%B_GATEWAY% gwmetric=0
netsh interface ip set dns "%CONNAME%" static %B_DNS1%
if /i %B_DNS2% NEQ NONE (netsh interface ip add dns "%CONNAME%" %B_DNS2%)
echo 线路已成功切换!以下为切换后的信息:
echo 网关:%B_GATEWAY%  DNS1:%B_DNS1% DNS2:%B_DNS2%

:P_END
echo.
echo.
echo 操作完毕! 程序编辑:骏野 2007.1.19
echo.
pause

[ Last edited by junboy168 on 2007-1-21 at 04:20 PM ]

2007-1-22 05:17
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: