公众号旧文
如何只让当前 WiFi 保持自动连接
保存为.bat格式的批处理文件(Batch file)后运行即可
@
echo
off
chcp 65001 >nul
setlocal EnableDelayedExpansion
REM ==================================================
REM 1. 获取当前已连接 WiFi SSID
REM ==================================================
set
"CURRENT="
for
/f
"tokens=2 delims=:"
%%i
in
(
'
netsh wlan show interfaces ^| findstr /r /c:"^[ ]*SSID"
')
do
(
for
/f
"tokens=* delims= "
%%a
in
(
"%%i"
)
do
(
set
"CURRENT=%%a"
goto :gotssid
)
)
:gotssid
if
not defined CURRENT (
echo
[ERROR] 未检测到当前 WiFi(可能未连接无线网络)
pause
exit
/b 1
)
echo
当前 WiFi:
"!CURRENT!"
echo
.
REM ==================================================
REM 2. 遍历所有已保存 WiFi 配置(中英文通吃)
REM ==================================================
for
/f
"tokens=2 delims=:"
%%i
in
(
'
netsh wlan show profiles ^| findstr ":"
')
do
(
for
/f
"tokens=* delims= "
%%a
in
(
"%%i"
)
do
(
set
"SSID=%%a"
REM 排除空行和非 profile 行
if
defined SSID (
if
/i
"!SSID!"
==
"!CURRENT!"
(
echo
保留自动连接:
"!SSID!"
netsh wlan
set
profileparameter name=
"!SSID!"
connectionmode=auto >nul
)
else
(
echo
取消自动连接:
"!SSID!"
netsh wlan
set
profileparameter name=
"!SSID!"
connectionmode=manual >nul
)
)
)
)
echo
.
echo
完成:仅当前 WiFi 保持自动连接,其余全部设为手动。
pause