我似乎无法在其他任何地方找到此问题,但是,如何检索当前连接的无线网络的名称。如果有必要,我的目标是断开互联网10秒钟,然后重新连接。这是我的代码:
@echo off
ipconfig /release
timeout /t 10 /nobreak
netsh wlan connect %Network%
我只需要帮助获取我当前连接到的无线网络的确切名称,以适应%Network%
。我想要任何帮助。
我也是批量的初学者,所以是的。
答案 0 :(得分:1)
要使用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%"
最后一行是使用variable substring
删除第一个空格字符当然,假设您只有一个WLAN适配器。如果你有多个,那么事情会更复杂,你有几个选择
另一种选择是使用
netsh wlan show networks interface="Wi-Fi" mode=ssid
答案 1 :(得分:0)
取自this answer并修改:
您可以在链接的答案中找到,获取所需信息的常规命令是wmic nic where "NetConnectionStatus=2" get NetConnectionID
。使用| more +1
,您可以传递仅在wmic-command中显示的标头。
要将此变为变量,您要使用for /f
解析该命令的输出:
for /f %%n in ('wmic nic where "NetConnectionStatus=2" get NetConnectionID ^| more +1') do (
set "Network=%%n"
goto outer
)
:outer
我使用goto在第一次迭代时退出循环,并仅使用它来解析第一行。由于命令的输出包含一些空行,如果标签不在那里,这将为您留下一个空变量。