查找并使用网络适配器名称

时间:2017-03-07 16:46:05

标签: batch-file networking reconnect

使用以下脚本:

@echo off
netsh interface show interface | find "Connected"
if errorlevel 1 goto #
netsh interface set interface "Local Area Connection" disabled
goto end
:#
netsh interface set interface "Local Area Connection" enabled
:end

我正在尝试找到一种方法来提取找到的网络适配器的名称,并使用所述名称代替“本地连接”。 原因是因为不是每个人的适配器都被命名为相同,我试图尽可能地自动完成这项任务。

非常感谢您提供任何帮助。

2 个答案:

答案 0 :(得分:2)

这是捕获接口名称的更简洁方法。

for /F "skip=3 tokens=3*" %G in ('netsh interface show interface') do echo %%H

全部放在一起

@echo off
for /F "skip=3 tokens=1,2,3* delims= " %%G in ('netsh interface show interface') DO (
    IF "%%H"=="Disconnected" netsh interface set interface "%%J" enabled
    IF "%%H"=="Connected" netsh interface set interface "%%J" disabled
)
pause

FOR /F命令正在解析NETSH命令的输出。它正在跳过标题行。然后它将输出分成4个元变量。

%%G            %%H            %%I              %%J
Admin State    State          Type             Interface Name
-------------------------------------------------------------------------
Enabled        Disconnected   Dedicated        Wireless Network Connection
Enabled        Connected      Dedicated        Local Area Connection

答案 1 :(得分:0)

for /F "tokens=4*" %%a in ('netsh interface show interface ^| more +2') do echo %%a %%b