当计算机从睡眠中醒来时,我的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
更改为适配器的名称