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