标题: (求助)关于网关设置和转换!(在线等待!)
[打印本页]
作者: liuwushu
时间: 2006-12-29 12:24
标题: (求助)关于网关设置和转换!(在线等待!)
怎样能够实现检测 :当网关=192.168.0.1 当前IP=192.168.0.102
提示:当前 线路1并询问是否转到 线路2
当网关=192.168.0.155 当前IP=192.168.0.182
提示:当前 线路2 并询问是否转到 线路1
[
Last edited by liuwushu on 2006-12-28 at 11:25 PM ]
作者: everest79
时间: 2006-12-29 13:49
@echo off
set gw=192.168.0.1 192.168.0.155
for /f "tokens=2 delims=[]" %%i in ('nbtstat -a %computername%') do set cuip=%%i
for /f "tokens=3,5" %%i in ('netstat -r^|find " 0.0.0.0"') set cugw=%%i&&set metric=%%j
for /f "tokens=1,2" %%i in ("%gw%") do (
if "%cugw%" == "%%i" set line=1&&set ngw=%%j
if "%cugw%" == "%%j" (
set line=2&&set ngw==%%i
)else echo error!&&goto end)
set /a lineb=3-%line%
:int
ECHO 你当前IP为%cuip%
set /p int=当前线路%line% 是否切换至线路%lineb%:(Y/N)
if /i "%int%" == "y" goto route
if /i "%int%" == "n" goto end
goto int
:route
route delete 0.0.0.0
route add 0.0.0.0 mask 0.0.0.0 %ngw% %metric%
ECHO 已切换到线路%lineb%
:end
pause>nul
作者: liuwushu
时间: 2006-12-29 15:20
路上的代码我怎么用不了
作者: everest79
时间: 2006-12-29 23:39
::@echo off
set gw=192.168.0.1 192.168.0.155
for /f "tokens=2 delims=[]" %%i in ('nbtstat -a %computername%') do set cuip=%%i
for /f "tokens=3,5" %%i in ('netstat -r^|find " 0.0.0.0"') do set cugw=%%i&&set metric=%%j
for /f "tokens=1,2" %%i in ("%gw%") do (
if "%cugw%" == "%%i" (
set line=1&&set ngw=%%j
) else if "%cugw%" == "%%j" (
set line=2&&set ngw==%%i
)else echo error!&&goto end)
set /a lineb=3-%line%
:int
ECHO 你当前IP为%cuip%
set /p int=当前线路%line% 是否切换至线路%lineb%:(Y/N)
if /i "%int%" == "y" goto route
if /i "%int%" == "n" goto end
goto int
:route
route delete 0.0.0.0
route add 0.0.0.0 mask 0.0.0.0 %ngw% %metric%
ECHO 已切换到线路%lineb%
:end
pause>nul
不好意思,手打的,少了字,而且我也没测试只顾着玩游戏了,现在改过来了
作者: tao0610
时间: 2006-12-30 05:43
用查找路由表来看网关前提是只有一个内网的适配器
添加默认路由能改网关,但改不料IP
所以还是用NETSH比较好.