公众号旧文

如何只让当前 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