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

Batch script: assign variable from ethernet adapters list

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

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

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

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

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 ""=="" 语句,您可以比较变量以查看两者是否都是 "Online".

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

请务必使用以下命令为 findstr 命令找到您网络的 接口名称

netsh interface show interface