如何批量检索当前连接的无线网络名称?

Wil*_*iam 3 batch-file

我似乎在其他地方找不到这个问题,但是,如何检索当前连接的无线网络的名称。如果有必要,我的程序目标是断开互联网连接 10 秒钟,然后重新连接。这是我的代码:

@echo off
ipconfig /release
timeout /t 10 /nobreak
netsh wlan connect %Network%
Run Code Online (Sandbox Code Playgroud)

我只需要帮助获取我当前连接的无线网络的确切名称,以适应%Network%. 我想要任何帮助。

我也是批量初学者,所以是的。

phu*_*clv 5

获取网络信息使用netsh wlan show interface。您可以使用 进一步过滤掉接口name=。在输出中,SSID 将位于该SSID字段中,并且可能还有Profile可以使用 提取的字段findstr。然后可以将数据读入变量for /f

for /f "delims=: tokens=2" %%n in ('netsh wlan show interface name="Wi-Fi" ^| findstr "SSID"') do set "Network=%%n"
set "Network=%Network:~1%"
Run Code Online (Sandbox Code Playgroud)

最后一行用于使用变量子字符串删除第一个空格字符

当然,这假设您只有一个 WLAN 适配器。如果你有不止一个,那么事情就会变得更加复杂,你有多种选择

  • 像其他答案一样尽早退出循环以获得第一个结果
  • 不执行任何操作即可获得最后的结果
  • 对循环内的每个适配器执行操作以获取有关它们的所有信息

另一种选择是使用

netsh wlan show networks interface="Wi-Fi" mode=ssid
Run Code Online (Sandbox Code Playgroud)