使用cmd/Batch,如何判断是否连接到WiFi网络?

使用cmd/Batch,如何判断是否连接到WiFi网络?

使用netsh wlan connect name="your network_name"您可以请求连接到WiFi网络,但不能确定是否已连接。

那么,在 CMD/Batch 中,哪个命令行可以检查我是否已连接到 WiFi 网络?(WiFi 网络可能有网络访问权限,也可能没有。)[它也应该适用于移动热点]

如果已连接,它应该显示YES

如果未连接,则应显示NO

因为我想根据得到的结果运行一个循环。

答案1

除了 Milad 的回答之外,还有一种方法可以检查您的 Windows PC 当前是否已连接到 Wifi 网络,请执行以下操作:

  • 打开命令提示符
  • 输入以下命令:

WMIC /node: ”PutYourPCNameHere” 路径 WIN32_NetworkAdapter 其中 (NetConnectionID="Wi-Fi") 获取 NetConnectionStatus

  • 如果您当前已连接到 Wifi,它将返回以下结果:

    NetConnectionStatus 2

  • 如果您当前未连接,它将返回此结果:

    NetConnectionStatus 7

答案2

您无需明确引用实际的 PC。将其存储在扩展名为.bat或的文件中.cmd

@Echo off
For /f "usebackq" %%A in (
  `WMIC path WIN32_NetworkAdapter where 'NetConnectionID="Wi-Fi"' get NetConnectionStatus`
) Do If %%A Equ 2 (Echo yes) Else (Echo No)
Pause

这必须在 cmd 窗口中输入(抱歉造成误解)

 For /f %A in ('WMIC path WIN32_NetworkAdapter where (NetConnectionID="Wi-Fi"^) get NetConnectionStatus') Do If %A Equ 2 (Echo yes) Else (Echo No)

答案3

尝试这个:

netsh wlan show interfaces | Findstr /c:"Signal" && Echo Online || Echo Offline

答案4

一行确定是否已连接,如果未连接,则连接到首选 ssid

netsh wlan show interfaces | Findstr /c:"State : disconnected" && netsh wlan connect ssid=SSID name=SSID

相关内容