中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-03 04:14
48,038 主题排行 / 350,123 发帖 / 今日 1 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 分享更改网关和DNS批处理
可打印版本  1,144 / 0
第1楼 junboy168 发表于 2007-01-22 05:17
新手上路 发帖 4 积分 14
分享更改网关和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=选择:
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 ]
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023