问题描述
我正在使用netsh interface ipv4 set address name="Ethernet" dhcp>nul
在批处理文件中将网络适配器设置为DHCP。然后,我正在检查errorlevel
以确保其正常工作。测试时,如果我在没有提升特权的情况下运行批处理文件,它将返回错误级别1。但是,如果我使用具有提升特权的批处理文件 (如果适配器运行),它也会返回错误级别1。已经设置为DHCP。
如何检测错误是仅仅是“已设置为DHCP”还是“权限不足”或其他完全错误?我以为我可能可以在运行netsh
命令之前检查适配器是否已设置为DHCP,但是我无法找到一种简单的方法来完成此操作。
解决方法
这是部分答案。命令
netsh interface ipv4 show config name="Local Area Connection 2"
产生这样的报告:
Configuration for interface "Local Area Connection 2"
DHCP enabled: Yes
IP Address: 192.168.1.11
如果报告中唯一可以回答“是”或“否”的项目已启用DHCP,则查找“是”并根据答案进行下一步应该相当简单。我的批处理技能非常生锈,所以我不会尝试建议示例代码。