当计算机从睡眠状态唤醒时,我的USB网络适配器(最新驱动程序)从控制面板中的“网络连接”窗口消失。因此,使用devcon构建批处理文件以重置适配器。适配器重置后,我想使用netsh以编程方式添加一些IP子网。问题是适配器可能需要一段时间才能执行重置(禁用&&启用命令),因为如果比某些(比如6秒,使用旧的Atom CPU)时间更早启动netsh会失败。现在我使用'timeout / T'命令插入了超时,但这次可能因系统负载而异。问题是:有没有办法从批处理文件中以编程方式检测适配器状态?
set "netcmd=netsh in ip add address ETH1 192.168.0.100 255.255.255.0"
devcon disable "USB\VID_9710&PID_7830" >NUL
devcon enable "USB\VID_9710&PID_7830" >NUL
timeout /T 6 >NUL
%netcmd%
答案 0 :(得分:1)
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
更改为适配器名称