如何使用bat检测网卡名称为什么就执行什么命令
以下是一个示例的批处理脚本,可以检测网卡名称并根据名称执行不同的命令:
@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 在这里输入要执行的命令
)
)
解释:
@echo off关闭命令行窗口的回显功能,使输出更清晰。setlocal enabledelayedexpansion启用延迟环境变量扩展,以便在 for 循环中使用!符号。for /f "tokens=2 delims=: " %%a in ('ipconfig ^| find "Ethernet adapter"') do循环遍历ipconfig命令的输出,找到以 "Ethernet adapter" 开头的行,并将该行的第二个字段(以冒号和空格为分隔符)赋值给变量adapter。set adapter=!adapter:~0,-1!去掉adapter变量末尾的冒号。if "!adapter!"=="Local Area Connection" (如果adapter变量的值为 "Local Area Connection",则执行下一行。echo "Local Area Connection" detected输出检测到 "Local Area Connection"。REM 在这里输入要执行的命令在这里输入要执行的命令,可以是任何合法的命令。) else if "!adapter!"=="Wireless Network Connection" (如果adapter变量的值为 "Wireless Network Connection",则执行下一行。echo "Wireless Network Connection" detected输出检测到 "Wireless Network Connection"。REM 在这里输入要执行的命令在这里输入要执行的命令,可以是任何合法的命令。) else (如果adapter变量的值既不是 "Local Area Connection" 也不是 "Wireless Network Connection",则执行下一行。echo "Unknown adapter" detected输出检测到未知的网卡名称。REM 在这里输入要执行的命令在这里输入要执行的命令,可以是任何合法的命令。)结束 if-else 块。)结束 for 循环。
注意:在脚本中的注释(以 REM 开头)可以替换为实际要执行的命令。
原文地址: https://www.cveoy.top/t/topic/b3wg 著作权归作者所有。请勿转载和采集!