如何检测网络接口是"initialized"



当计算机从睡眠中醒来时,我的USB网络适配器(最新驱动程序)从控制面板中的"网络连接"窗口中消失。因此,构建批处理文件以使用DevCon重置适配器。转移重置后,我想使用NetSh以编程方式添加一些IP子网。问题是适配器可能需要在重置后(禁用& enable命令)后需要一段时间,因为如果启动的时间比某些启动时间早(假设6秒,则使用旧的Atom CPU)时间。现在,我已经使用" timeout/t'命令插入了超时,但是这次可能因系统负载而有所不同。问题是:有什么方法可以从批处理文件中编程检测适配器状态?

set "netcmd=netsh in ip add address ETH1 192.168.0.100 255.255.255.0"
devcon disable "USBVID_9710&PID_7830" >NUL 
devcon enable "USBVID_9710&PID_7830" >NUL 
timeout /T 6 >NUL
%netcmd%

netsh interface show interface name="Local Area Connection"显示类似:

Local Area Connection
   Type:                 Dedicated
   Administrative state: Enabled
   Connect state:        Disconnected

您可以使用以下方式检查其状态:

:loop
timeout 2
echo still waiting...
netsh interface show interface name="Local Area Connection" | find "Connect state" |find "Connected" >nul || goto :loop
echo Interface is now connected.

可以使用...find "Administrative state" |find "Enabled" ...进行相同的工作(取决于您所指的适配器状态)

注意:将Local Area Connection更改为适配器的名称

相关内容

  • 没有找到相关文章

最新更新