如何通过PowerShell提取指定蓝牙串口设备的COM端口号
提取PowerShell输出中的COM端口数字值
没问题,我来帮你搞定这个需求!从你给出的Format-Table Name输出里,要单独提取COM端口的数字部分,我们可以借助正则匹配来实现,直接用下面的代码就能得到你想要的结果:
Get-WMIObject Win32_PnPEntity | where {$_.Name -like 'Standard Serial over Bluetooth link*' -AND $_.DeviceID -like '*AB9078566C8A*'} | % name | select-string \d+ | % { $_.matches.value }
简单解释下这段代码的关键步骤:
% name是ForEach-Object { $_.Name }的简写,帮我们把筛选后的设备名称单独提取出来;select-string \d+用正则表达式\d+(匹配1个或多个连续数字)定位到名称里的端口数字;- 最后的
% { $_.matches.value }则把匹配到的数字内容提取出来,最终就会输出10。
更新说明:感谢@js2010的帮助,我已成功通过PowerShell获取到COM端口号。由于目前我的声望不足,无法为其答案点赞,希望其他用户能帮忙点赞。
内容的提问来源于stack exchange,提问作者murtdoc




