【脚本】一键切换单位与家庭wifi网络环境

本文介绍如何使用Windows批处理(change_wifi_env.bat)来便捷地在单位内网和手机热点间切换,设置固定IP和DNS,同时处理DNS切换可能遇到的提示问题。适合Windows10用户,注意不适用于Win7。
摘要由CSDN通过智能技术生成

初衷

笔记本连单位的无线网,但禁止访问腾讯NBA、知乎、微信、B站等常用的网站,所以需要在内网和热点之间切换。内网与热点的不同之处在于IP地址、子网、网关、DNS这几个参数设定了特定值,再配合基本的逻辑汇成一个简单的网络切换小工具。

效果展示

  1. 连接单位无线网,设置IP和DNS网络参数,切换至单位工作环境
    在这里插入图片描述

  2. 连接手机热点、IP和DNS恢复为自动,切换至家庭娱乐环境
    在这里插入图片描述

适用范围

本代码/本工具,仅适用于windows 10环境,win7等其他系统环境未测试过,请各位自行测试。

Bat代码(change_wifi_env.bat)

本想直接上传我当前在用change_wifi_env.bat的,但csdn博客里暂不支持上传附件,所以只能附上源代码。各位可以新建change_wifi_env.bat,并粘贴下列代码,修改前网络相关的4个变量,运行时务必以管理员权限运行。

@echo off  

rem //设置变量   
set NAME="WLAN"  
set IP_ADDRESS=10.96.15.181
set SUBNET=255.255.255.0
set GATEWAY=10.96.15.254
set DNS1=10.0.34.4


echo 当前可用操作有:  
echo   1 设置本地DNS代理(切单位网络环境)
echo   2 恢复动态DNS(切家庭网络环境)
echo   3 退出  
echo   .
echo 请选择后回车:  
set /p operate=  
if %operate%==1 goto 1  
if %operate%==2 goto 2  
if %operate%==3 goto 3  

:1
echo . 
echo 正在设置本地DNS代理,请稍等...  
echo 网络 = %NAME%   
echo DNS  = %DNS1%   
echo .

netsh interface ip set address name=%NAME% static %IP_ADDRESS% %SUBNET% %GATEWAY% 1
netsh interface ip set dns name=%NAME% source=static addr=%DNS1% register=PRIMARY  >nul
 


echo 本地代理已设置!  
pause  
goto 3  


:2  
echo .
echo 正在恢复动态DNS,请稍等...  
echo 网络 = %NAME%
echo .

netsh interface ip set address name=%NAME% dhcp
netsh interface ip set dns name=%NAME% dhcp
echo 恢复动态DNS设置!  
pause  
goto 3  

:3  
exit

被诟病的地方

DNS切换后会提示“配置的DNS服务器不正确或不存在”,但这不影响正常使用,稍微有点不舒服。
最终,将该输出“重定向到黑洞”实现屏蔽(已更新至代码中)。

netsh interface ip set dns name=%NAME% source=static addr=%DNS1% register=PRIMARY  >nul
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值