工作与家庭网络切换.bat
2012-09-28 18:58
127 查看
@echo off
setlocal enabledelayedexpansion
netsh wlan set hostednetwork mode=disallow %/*承载网络模式不禁止的话不可使用(默认都没有承载模式)*/%
cls
:: =========== 工作网络配置 ===========
set "IP_set=10.64.210.249"
set "MASK_set=255.255.255.128"
set "GATEWAY_set=10.64.210.251"
set "DNS1_set=10.64.208.108"
:LISTEN
cls
set /a g=0
set /a v=0
set /a line=0
set f_Host_Name=Name
set f_Desc=Description
set f_IP_host=IP
set f_MAC_host=Physical
:: 参数分离
for /f "tokens=2* delims=:" %%i in ('ipconfig/all^|findstr %f_Desc%') do (
set /a v+=1
set /a g+=1
if !v! equ !g! (
set /a line+=1
set Desc_!line!=%%i
)
)
:: 网卡跳转,最多只支持三网卡
if 1 LEQ %line% (
if "%Desc_1%" neq "%Desc_1:Network=%" (
set num=1
)
)
if 2 LEQ %line% (
if "%Desc_2%" neq "%Desc_2:Network=%" (
set num=2
)
)
if 3 LEQ %line% (
if "%Desc_3%" neq "%Desc_3:Network=%" (
set num=3
)
)
:: 语言跳转
if %line% EQU 0 (
goto LISTCN
)
if "%num%" LEQ "%line%" (goto GETCRDINFO)
echo 输入错误,请重新输入.
pause>nul
cls
goto LISTEN
:LISTCN
cls
set /a g=0
set /a v=0
set /a line=0
set f_Host_Name=主机名
set f_Desc=描述
set f_IP_host=IPv4
set f_MAC_host=物理地址
:: 参数分离
for /f "tokens=2* delims=:" %%i in ('ipconfig/all^|findstr %f_Desc%') do (
set /a v+=1
set /a g+=1
if !v! equ !g! (
set /a line+=1
set Desc_!line!=%%i
)
)
:: 网卡跳转,最多只支持三网卡
if 1 LEQ %line% (
if "%Desc_1%" neq "%Desc_1:Network=%" (
set num=1
)
)
if 2 LEQ %line% (
if "%Desc_2%" neq "%Desc_2:Network=%" (
set num=2
)
)
if 3 LEQ %line% (
if "%Desc_3%" neq "%Desc_3:Network=%" (
set num=3
)
)
if "%num%" LEQ "%line%" (goto GETCRDINFO)
echo 输入错误,请重新输入.
pause>nul
cls
goto LISTCN
:: 获取网卡路径
:GETCRDINFO
:: Host_Name
for /f "tokens=2* delims=:" %%i in ('ipconfig/all^|findstr %f_Host_Name%') do (
set Host_Name=%%i
)
:: IP_host
set /a k=0
for /f "tokens=2* delims=:" %%i in ('ipconfig/all^|findstr %f_IP_host%') do (
set /a k=k+1
if !k! equ !num! (
set IP_host=%%i
)
)
:: MAC_host
set /a k=0
for /f "tokens=2* delims=:" %%i in ('ipconfig/all^|findstr %f_MAC_host%') do (
set /a k=k+1
if !k! equ !num! (
set MAC_host=%%i
)
)
goto SHOW
:SHOW
:: 过滤字符串
set Host_Name=%Host_Name: =%
set IP_host=%IP_host: =%
set IP_host=%IP_host:(=%
set IP_host=%IP_host:首选=%
set IP_host=%IP_host:)=%
set MAC_host=%MAC_host: =%
:: 显示信息
echo Host_Name:[%Host_Name%]
echo IP_host :[%IP_host%]
echo MAC_host :[%MAC_host%]
:: 对比IP,匹配工作网络则设为动态IP,否则设为工作IP
if "%IP_host%"=="%IP_set%" (
echo 网络环境为工作网络
echo 正在转换为家庭网络...
echo 正在设置自动IP,请稍等......
netsh interface ip set address name = "本地连接" source = dhcp
echo 正在设置自动DNS ,请稍等......
netsh interface ip set dns "本地连接" source = dhcp
) else (
echo 网络环境为家庭网络
echo 正在转换为工作网络...
echo 正在设置静态IP,请稍等......
netsh interface ip set address "本地连接" source = static addr = %IP_set% mask=%MASK_set%
echo 正在设置静态网关,请稍等......
netsh interface ip set address "本地连接" gateway = %GATEWAY_set% gwmetric =1
echo 正在设置首选DNS ,请稍等......
netsh interface ip set dns "本地连接" source = static addr = %DNS1_set%
)
echo 转换完成
pause>nul
setlocal enabledelayedexpansion
netsh wlan set hostednetwork mode=disallow %/*承载网络模式不禁止的话不可使用(默认都没有承载模式)*/%
cls
:: =========== 工作网络配置 ===========
set "IP_set=10.64.210.249"
set "MASK_set=255.255.255.128"
set "GATEWAY_set=10.64.210.251"
set "DNS1_set=10.64.208.108"
:LISTEN
cls
set /a g=0
set /a v=0
set /a line=0
set f_Host_Name=Name
set f_Desc=Description
set f_IP_host=IP
set f_MAC_host=Physical
:: 参数分离
for /f "tokens=2* delims=:" %%i in ('ipconfig/all^|findstr %f_Desc%') do (
set /a v+=1
set /a g+=1
if !v! equ !g! (
set /a line+=1
set Desc_!line!=%%i
)
)
:: 网卡跳转,最多只支持三网卡
if 1 LEQ %line% (
if "%Desc_1%" neq "%Desc_1:Network=%" (
set num=1
)
)
if 2 LEQ %line% (
if "%Desc_2%" neq "%Desc_2:Network=%" (
set num=2
)
)
if 3 LEQ %line% (
if "%Desc_3%" neq "%Desc_3:Network=%" (
set num=3
)
)
:: 语言跳转
if %line% EQU 0 (
goto LISTCN
)
if "%num%" LEQ "%line%" (goto GETCRDINFO)
echo 输入错误,请重新输入.
pause>nul
cls
goto LISTEN
:LISTCN
cls
set /a g=0
set /a v=0
set /a line=0
set f_Host_Name=主机名
set f_Desc=描述
set f_IP_host=IPv4
set f_MAC_host=物理地址
:: 参数分离
for /f "tokens=2* delims=:" %%i in ('ipconfig/all^|findstr %f_Desc%') do (
set /a v+=1
set /a g+=1
if !v! equ !g! (
set /a line+=1
set Desc_!line!=%%i
)
)
:: 网卡跳转,最多只支持三网卡
if 1 LEQ %line% (
if "%Desc_1%" neq "%Desc_1:Network=%" (
set num=1
)
)
if 2 LEQ %line% (
if "%Desc_2%" neq "%Desc_2:Network=%" (
set num=2
)
)
if 3 LEQ %line% (
if "%Desc_3%" neq "%Desc_3:Network=%" (
set num=3
)
)
if "%num%" LEQ "%line%" (goto GETCRDINFO)
echo 输入错误,请重新输入.
pause>nul
cls
goto LISTCN
:: 获取网卡路径
:GETCRDINFO
:: Host_Name
for /f "tokens=2* delims=:" %%i in ('ipconfig/all^|findstr %f_Host_Name%') do (
set Host_Name=%%i
)
:: IP_host
set /a k=0
for /f "tokens=2* delims=:" %%i in ('ipconfig/all^|findstr %f_IP_host%') do (
set /a k=k+1
if !k! equ !num! (
set IP_host=%%i
)
)
:: MAC_host
set /a k=0
for /f "tokens=2* delims=:" %%i in ('ipconfig/all^|findstr %f_MAC_host%') do (
set /a k=k+1
if !k! equ !num! (
set MAC_host=%%i
)
)
goto SHOW
:SHOW
:: 过滤字符串
set Host_Name=%Host_Name: =%
set IP_host=%IP_host: =%
set IP_host=%IP_host:(=%
set IP_host=%IP_host:首选=%
set IP_host=%IP_host:)=%
set MAC_host=%MAC_host: =%
:: 显示信息
echo Host_Name:[%Host_Name%]
echo IP_host :[%IP_host%]
echo MAC_host :[%MAC_host%]
:: 对比IP,匹配工作网络则设为动态IP,否则设为工作IP
if "%IP_host%"=="%IP_set%" (
echo 网络环境为工作网络
echo 正在转换为家庭网络...
echo 正在设置自动IP,请稍等......
netsh interface ip set address name = "本地连接" source = dhcp
echo 正在设置自动DNS ,请稍等......
netsh interface ip set dns "本地连接" source = dhcp
) else (
echo 网络环境为家庭网络
echo 正在转换为工作网络...
echo 正在设置静态IP,请稍等......
netsh interface ip set address "本地连接" source = static addr = %IP_set% mask=%MASK_set%
echo 正在设置静态网关,请稍等......
netsh interface ip set address "本地连接" gateway = %GATEWAY_set% gwmetric =1
echo 正在设置首选DNS ,请稍等......
netsh interface ip set dns "本地连接" source = static addr = %DNS1_set%
)
echo 转换完成
pause>nul
相关文章推荐
- 家庭网络/工作网络/公用网络
- 不同的网络之间切换bat文件写入ip信息
- win7 家庭网络 工作网络 公用网络
- 写一个快速切换网络的BAT脚本
- win7下批处理bat文件:切换网络设置
- 无线网络的切换bat
- 家庭网络/工作网络/公用网络
- nokia xl 4g在4g/3g信号不稳定状态下自动切换到2g网络不能上网的问题
- Linux mint 18.2 切换工作区快捷键
- 如何实现3G/4G与Wi-Fi网络之间稳定且无缝地切换
- myeclipse8.5 每次启动需要手动切换工作空间的解决办法
- boost库在工作(28)网络客户端之三
- 一种使用Windows批处理文件自动切换笔记本工作模式的方法;
- 多种无线技术在数字家庭网络中的进展
- BAT解密:互联网技术发展之路(7)- 网络层技术剖析2
- 金融危机下如何获得工作和跳槽机会-网络系统工程师的最终归宿(二) 推荐
- BAT 文件 手工设置IP 与自动获取的切换
- unit 2 工作目录切换 文件建立 拷贝 删除以及正则表达式