批处理脚本:从以太网适配器列表分配变量

时间:2018-07-17 14:31:17

标签: batch-file ethernet

信息:我们的一些大学使用注册为“以太网3”的网络USB适配器 我需要一种方法来确定是否插入了“以太网”或“以太网3”并将其设置为变量,以便可以执行更改ip。 (批处理脚本)

netsh int ip set address "%Ethernet adapter%" static 192.168.0.186 255.0.0.0 192.168.0.1 1

1 个答案:

答案 0 :(得分:0)

您可以使用FOR /Fnetsh interface show interface^|find "Connected"测试互联网是否已连接。这将搜索设备上所有已连接的网络。

从这里我们可以使用echo %%B | findstr "Wi-Fi" > Nul来过滤结果到Wi-Fi的范围,并使用IF %ERRORLEVEL% EQU 0来判断结果是否存在(从而告诉我们它是否在线)< / p>

FOR /F "tokens=3,*" %%A IN ('netsh interface show interface^|find "Connected"') DO echo %%B | findstr "Wi-Fi" > Nul
IF %ERRORLEVEL% EQU 0 (GOTO :CONNECTED) ELSE (GOTO :DISCONNECTED)

由于缺乏描述,不确定是否需要将两者都连接起来,但是您可以将(GOTO :CONNECTED) ELSE (GOTO :DISCONNECTED)更改为变量(示例: (SET C1=ONLINE) ELSE (SET C1=OFFLINE) )并为下一个网络堆叠新的FOR /F。然后使用IF /I ""==""语句,您可以比较变量以查看它们是否都是“在线”。

IF /I "%C1%"=="ONLINE" (IF /I "%C2%"=="ONLINE" (GOTO :ONLINE) ELSE (GOTO :OFFLINE)) ELSE (GOTO :OFFLINE)

请确保使用以下命令为findstr命令查找网络的接口名称

netsh interface show interface