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

@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/b3wg 著作权归作者所有。请勿转载和采集!

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