Batch file 批处理脚本,用于启用具有不同名称的禁用网络适配器

Batch file 批处理脚本,用于启用具有不同名称的禁用网络适配器,batch-file,cmd,windows-10,netsh,ipconfig,Batch File,Cmd,Windows 10,Netsh,Ipconfig,我正在编写一个脚本,将网络设置恢复为默认设置,即切换回局域网上的DHCP并重新启用无线适配器。所有这些操作都是在我管理的所有设备的本地管理员权限下完成的 从静态切换到DHCP时,脚本无法重新启用无线适配器,并显示“没有更多可用数据”。我做了一些故障排除,发现禁用的无线适配器没有反映在ipconfig/all命令中,我一直在使用该命令获取适配器名称(例如Wi-Fi、Wi-Fi 2等),因此netsh命令由于变量无效而出现错误 下面是负责重新启用无线适配器的代码部分。我知道,如果我手动输入netsh

我正在编写一个脚本,将网络设置恢复为默认设置,即切换回局域网上的DHCP并重新启用无线适配器。所有这些操作都是在我管理的所有设备的本地管理员权限下完成的

从静态切换到DHCP时,脚本无法重新启用无线适配器,并显示“没有更多可用数据”。我做了一些故障排除,发现禁用的无线适配器没有反映在
ipconfig/all
命令中,我一直在使用该命令获取适配器名称(例如Wi-Fi、Wi-Fi 2等),因此
netsh
命令由于变量无效而出现错误

下面是负责重新启用无线适配器的代码部分。我知道,如果我手动输入
netsh interface set interface name=“Wi-Fi”admin=enabled
,它将根据测试设备上的适配器名称工作。但是,我无法硬编码适配器名称,因为不同设备的适配器名称可能不同。如果第一行有任何其他代码我可能不知道,请分享,因为我在谷歌上搜索了很多次,它只针对
ipconfig
wmic
命令。谢谢

::Look for the Wi-Fi adapter name
for /f "tokens=* delims=:" %%b in ('ipconfig ^| find /i "Wireless LAN adapter Wi-Fi"') do set wifiadaptername=%%b
set wifiadaptername=%wifiadaptername:~21%
set wifiadaptername=%wifiadaptername:~0,-1%

::Switch on Wi-Fi
netsh interface set interface name="%wifiadaptername%" admin=enabled

自己试一试,看看效果如何
对于/f“tokens=4*”%%a in('netsh interface show interface^ | find/i“wi”^ | find/i“disabled”'),请执行netsh interface set interface name=“%%a”admin=enabled
@GerhardBarnard非常感谢分享。这真的很有帮助。