可通过批处理或powershell脚本实现wi-fi名称匹配的ip自动切换:先获取当前ssid或网卡状态,再依预设规则设置静态ip/dns或恢复dhcp;支持开机自启与静默运行。

当需要在不同网络环境(如公司内网、家庭Wi-Fi、移动热点)间频繁切换时,手动修改IP地址既费时又容易出错。编写一个能根据当前连接的Wi-Fi名称或网卡状态自动切换本地IP配置的脚本,可让电脑开机或联网后立即获得对应网络所需的固定IP、子网掩码、网关和DNS。
确认当前网络接口与连接状态
打开命令提示符(管理员权限),运行 netsh interface show interface,找到当前“已连接”且状态为“已连接”的网络适配器名称,例如“以太网”或“WLAN”。【名称必须完全匹配,大小写敏感,空格不可省略】
接着执行 netsh wlan show interfaces(仅无线)或 ipconfig /all(有线/无线通用),确认当前连接的SSID或物理地址,这是后续判断网络环境的关键依据。
编写基础批处理脚本实现IP自动切换
方法一:按Wi-Fi名称匹配切换
用记事本新建文本文件,输入以下内容,保存为 ip-switch.bat(编码选ANSI或UTF-8无BOM):
@echo off<br>for /f "tokens=2* delims=:" %%a in ('netsh wlan show interfaces ^| findstr "SSID"') do set "cur_ssid=%%b'<br>set cur_ssid=%cur_ssid: =%<br>if "%cur_ssid%"=="Office-WiFi" (netsh interface ip set address "WLAN" static 192.168.10.50 255.255.255.0 192.168.10.1)<br>if "%cur_ssid%"=="Home-2.4G" (netsh interface ip set address "WLAN" static 192.168.3.100 255.255.255.0 192.168.3.1)<br>if "%cur_ssid%"=="" (netsh interface ip set address "WLAN" dhcp)
注意:第三行去空格操作必不可少,否则SSID末尾空格会导致匹配失败;【“WLAN”需替换为你实际的接口名称,否则命令执行无效】
增强版PowerShell脚本支持多条件判断
第一步:以管理员身份启动PowerShell
第二步:执行 Set-ExecutionPolicy RemoteSigned -Scope CurrentUser,允许本地脚本运行
第三步:新建 AutoIP.ps1,内容如下:
$iface = Get-NetAdapter \| Where-Object {$_.Status -eq "Up"} \| Select-Object -First 1 -ExpandProperty Name<br>$ssid = (netsh wlan show interfaces) -match "SSID" -replace ".*SSID[^:]*: " -replace "\s+$"<br>switch ($ssid) {<br> "Office-WiFi" { netsh interface ip set address "$iface" static 192.168.10.50 255.255.255.0 192.168.10.1 && netsh interface ip set dns "$iface" static 192.168.10.10 }<br> "Home-2.4G" { netsh interface ip set address "$iface" static 192.168.3.100 255.255.255.0 192.168.3.1 && netsh interface ip set dns "$iface" static 114.114.114.114 }<br> default { netsh interface ip set address "$iface" dhcp && netsh interface ip set dns "$iface" dhcp }<br>}
这段脚本会自动识别首个启用的网卡,兼容有线与无线场景;DNS设置与IP绑定同步执行,避免上网不通;default分支确保未匹配时回归DHCP,防止断网。
设置脚本开机自启或连接触发运行
方法一:任务计划程序触发(推荐)
打开“任务计划程序”→创建基本任务→名称填“AutoIP Switch”→触发器选“登录时”或“工作站锁定时解锁后”→操作选“启动程序”,程序路径填 powershell.exe,参数填 -ExecutionPolicy Bypass -File "C:\path\to\AutoIP.ps1"
方法二:注册表启动项(仅限当前用户)
运行 regedit,定位到 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run,新建字符串值,名称任意,数值数据填:powershell.exe -WindowStyle Hidden -ExecutionPolicy Bypass -File "C:\path\to\AutoIP.ps1"
这一步完成后,每次用户登录系统就会静默运行脚本,无需弹窗或手动点击。











