我正在编写一个批处理脚本,它应该连接到特定的无线网络并开始从该网络上的 NAS 共享驱动器下载。
显然,在进行任何下载之前,我必须检查机器是否连接到正确的网络。
我如何检查我是否已连接到正确的网络?
我的批处理脚本的相关部分如下:
...
netsh wlan add profile filename=%_SCRIPT_PATH%MyWireless.xml
netsh wlan connect name=MyWireless
...
其中 MyWireless.xml 是由以下程序生成的 netsh 导出的网络配置文件:
C:\Users\Daemon>netsh wlan export profile folder=C:\Users\Daemon\ name=MyWireless
答案1
检查netsh命令的errorlevel值并处理结果。
答案2
您需要等待几秒钟,然后使用 检查无线局域网接口的连接状态netsh wlan show interfaces
。这就是friedrith/node-wifi做。
netsh wlan show interfaces
当连接尝试失败时
There is 1 interface on the system:
Name : Wi-Fi
Description : Intel(R) Wireless-AC 9560 160MHz
GUID : 39eaa09a-f0a0-4f24-b69d-c1c53642c266
Physical address : d8:f2:ca:97:d7:7c
State : disconnected
Radio status : Hardware On
Software On
Hosted network status : Not available
当它成功时
There is 1 interface on the system:
Name : Wi-Fi
Description : Intel(R) Wireless-AC 9560 160MHz
GUID : 39eaa09a-f0a0-4f24-b69d-c1c53642c266
Physical address : d8:f2:ca:97:d7:7c
State : connected
SSID : F09F93A520F09F8CB9
BSSID : 28:cd:c1:0e:50:82
Network type : Infrastructure
Radio type : 802.11n
Authentication : WPA2-Personal
Cipher : CCMP
Connection mode : Profile
Channel : 3
Receive rate (Mbps) : 6
Transmit rate (Mbps) : 6
Signal : 80%
Profile : pico
Hosted network status : Not available
请注意,输出可以采用英语以外的其他语言。