我在其他地方找不到这个问题的答案,但是如何检索当前连接的无线网络的名称。 如果必要,我的程序目标是断开互联网连接10秒钟,然后重新连接。 这是我的代码:
@echo off
ipconfig /release
timeout /t 10 /nobreak
netsh wlan connect %Network%
我只需要帮助获取我当前连接的无线网络的确切名称,以适应%Network%
。 感谢任何帮助。
我也是批处理的初学者,所以需要帮助。
我在其他地方找不到这个问题的答案,但是如何检索当前连接的无线网络的名称。 如果必要,我的程序目标是断开互联网连接10秒钟,然后重新连接。 这是我的代码:
@echo off
ipconfig /release
timeout /t 10 /nobreak
netsh wlan connect %Network%
我只需要帮助获取我当前连接的无线网络的确切名称,以适应%Network%
。 感谢任何帮助。
我也是批处理的初学者,所以需要帮助。
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
从这个答案中提取并修改:
正如你可以在链接的答案中找到的那样,获取你想要的信息的一般命令是wmic nic where "NetConnectionStatus=2" get NetConnectionID
。使用| more +1
可以传递只显示在wmic命令中的标题。
要将其存储到一个变量中,你需要使用for /f
来解析该命令的输出:
for /f %%n in ('wmic nic where "NetConnectionStatus=2" get NetConnectionID ^| more +1') do (
set "Network=%%n"
goto outer
)
:outer
我使用goto命令在第一次迭代时退出循环,并且只使用它来解析第一行。由于命令的输出包含一些空行,如果没有标签,这将使您得到一个空变量。
wmic nic where "NetConnectionStatus=2" get NetConnectionID
输出 NetConnectionID VMware Network Adapter VMnet1 VMware Network Adapter VMnet8 Wi-Fi
,并且没有可用的网络名称。 - phuclv