You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用C#脚本提取adb devices结果中以device结尾的设备列表?

提取ADB连接设备的标识列表(C#实现)

先执行命令获取ADB的原始输出:

string adbOutput = KAutoHelper.ADBHelper.ExecuteCMD("adb devices");

接着对输出内容做清洗和提取,得到纯设备标识列表:

// 拆分输出为单行,移除空行
var outputLines = adbOutput.Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);

// 过滤有效设备行并提取标识
List<string> deviceIds = outputLines
    .Where(line => 
        line.Trim().EndsWith("device", StringComparison.OrdinalIgnoreCase) 
        && !line.Trim().Equals("List of devices attached", StringComparison.OrdinalIgnoreCase))
    .Select(line => 
        line.Trim().Split(new[] { ' ', '\t' }, StringSplitOptions.RemoveEmptyEntries)[0])
    .ToList();

关键逻辑说明

  • 行拆分与清洗:用系统换行符拆分输出,同时移除空行,避免处理无效的空白内容。
  • 过滤有效行:
    • 保留以device结尾的行(忽略大小写,兼容可能的输出格式差异);
    • 排除命令自带的List of devices attached表头行,避免误提取。
  • 提取设备标识:有效行的结构是「设备标识 + 空格/制表符 + device」,按空白字符拆分后取第一个元素就是设备的唯一标识。

验证与使用

你可以通过遍历deviceIds列表来输出或使用设备标识:

foreach (string id in deviceIds)
{
    Console.WriteLine(id);
}

内容的提问来源于stack exchange,提问作者vinh nguyen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 11:57:16