以下是一个示例的批处理脚本,可以检测网卡名称并根据名称执行不同的命令:

@echo off
setlocal enabledelayedexpansion

for /f 'tokens=2 delims=: ' %%a in ('ipconfig ^| find "Ethernet adapter"') do (
    set adapter=%%a
    set adapter=!adapter:~0,-1!
    if '!adapter!'=='Local Area Connection' (
        echo 'Local Area Connection' detected
        REM 在这里输入要执行的命令
    ) else if '!adapter!'=='Wireless Network Connection' (
        echo 'Wireless Network Connection' detected
        REM 在这里输入要执行的命令
    ) else (
        echo 'Unknown adapter' detected
        REM 在这里输入要执行的命令
    )
)

解释:

  1. @echo off 关闭命令行窗口的回显功能,使输出更清晰。
  2. setlocal enabledelayedexpansion 启用延迟环境变量扩展,以便在 for 循环中使用 ! 符号。
  3. for /f 'tokens=2 delims=: ' %%a in ('ipconfig ^| find "Ethernet adapter"') do 循环遍历 ipconfig 命令的输出,找到以 "Ethernet adapter" 开头的行,并将该行的第二个字段(以冒号和空格为分隔符)赋值给变量 adapter
  4. set adapter=!adapter:~0,-1! 去掉 adapter 变量末尾的冒号。
  5. if '!adapter!'=='Local Area Connection' ( 如果 adapter 变量的值为 'Local Area Connection',则执行下一行。
  6. echo 'Local Area Connection' detected 输出检测到 'Local Area Connection'。
  7. REM 在这里输入要执行的命令 在这里输入要执行的命令,可以是任何合法的命令。
  8. ) else if '!adapter!'=='Wireless Network Connection' ( 如果 adapter 变量的值为 'Wireless Network Connection',则执行下一行。
  9. echo 'Wireless Network Connection' detected 输出检测到 'Wireless Network Connection'。
  10. REM 在这里输入要执行的命令 在这里输入要执行的命令,可以是任何合法的命令。
  11. ) else ( 如果 adapter 变量的值既不是 'Local Area Connection' 也不是 'Wireless Network Connection',则执行下一行。
  12. echo 'Unknown adapter' detected 输出检测到未知的网卡名称。
  13. REM 在这里输入要执行的命令 在这里输入要执行的命令,可以是任何合法的命令。
  14. ) 结束 if-else 块。
  15. ) 结束 for 循环。

注意:在脚本中的注释(以 REM 开头)可以替换为实际要执行的命令。

使用 Bat 脚本检测网卡名称并执行命令

原文地址: https://www.cveoy.top/t/topic/jC2g 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录