标题: 分享更改网关和DNS批处理
[打印本页]
作者: junboy168
时间: 2007-1-22 05:17
标题: 分享更改网关和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 ]