首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何批量检索当前连接的无线网络的名称?

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

Stack Overflow用户
提问于 2017-08-09 03:42:06
回答 2查看 8.1K关注 0票数 3

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

代码语言:javascript
运行
复制
@echo off
ipconfig /release
timeout /t 10 /nobreak
netsh wlan connect %Network%

我只需要得到我目前连接到的无线网络的确切名称,以适应%Network%。我需要任何帮助。

我也是批次的初学者所以是的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-09 15:24:48

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

代码语言:javascript
运行
复制
for /f "delims=: tokens=2" %%n in ('netsh wlan show interface name="Wi-Fi" ^| findstr "SSID"') do set "Network=%%n"
set "Network=%Network:~1%"

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

当然,这假设您只有一个WLAN适配器。如果你有不止一个,那么事情就更复杂了,你有几个选择。

  • 像其他答案一样提前退出循环,以获得第一个结果。
  • 不做任何事情就能得到最后的结果
  • 对循环中的每个适配器执行操作,以获取有关它们的所有信息。

另一种选择是使用

代码语言:javascript
运行
复制
netsh wlan show networks interface="Wi-Fi" mode=ssid
票数 5
EN

Stack Overflow用户

发布于 2017-08-09 06:54:57

取自这个答案并修改:

正如您可以在链接答案中找到的那样,获取所需信息的一般命令是wmic nic where "NetConnectionStatus=2" get NetConnectionID。使用| more +1,您可以传递仅显示在wmic-命令中的标题。

要将其放入变量,您需要使用for /f解析该命令的输出。

代码语言:javascript
运行
复制
for /f %%n in ('wmic nic where "NetConnectionStatus=2" get NetConnectionID ^| more +1') do (
  set "Network=%%n"
  goto outer
)
:outer

我使用goto在第一次迭代中退出循环,并且只使用它来解析第一行。由于命令的输出包含一些空行,如果标签不存在,这将给您留下一个空变量。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45581328

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档