获取 usb 串行 FTDI 的 COM 端口号

Get COM port number of usb serial FTDI

我有一个 FTDI usb 串口,我有兴趣在 USB serial converter A 上获取分配给设备的 COM 端口。有没有一种方法可以以编程方式(例如 cmd)列出此信息,以提取与该位置对应的 COM 端口号。我可以在设备管理器属性中查看此信息,所以我想可能有一种方法可以通过脚本获取此信息?我确定我要连接的 COM 端口将位于串行转换器 A 上。 我正在查找 USB 设备的注册表项,我想连接的设备转到 VCP0。为了缩小我的问题范围,从查询 HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM

中获取 COM 编号的最佳方法是什么

这给了我:

HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM  
\Device\VCP0    REG_SZ    COM9                                                                                                                                                      
\Device\VCP1    REG_SZ    COM10

编辑:我正在尝试使用此命令获取 \Device\VCP0 的数据值,但我认为我没有正确转义反斜杠:

REG QUERY "HKLM:\HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM" /v "\Device\VCP0"

这是一种方法:

@Echo Off
Set "CDev=VCP0"
Set "RKey=HKLM\HARDWARE\DEVICEMAP\SERIALCOMM"
Set "CNum="
For /F "Skip=1 Tokens=3" %%A In (
    'Reg Query "%RKey%" /V "\Device\%CDev%" 2^>Nul') Do Set CNum=%%A
If Not Defined CNum Exit /B
Rem Your commands below here
Echo %CNum%
Timeout 5 >Nul

您应该只需要修改第 2 行的设备名称,并将您自己的任何命令放在 Rem 行的下方。

您的直接查询命令可能的更正是:

Reg Query "HKLM\HARDWARE\DEVICEMAP\SERIALCOMM" /V "\Device\VCP0"

或:

Reg Query "HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM" /V "\Device\VCP0"

设备名称中的反斜杠不需要转义,根键语法有点混乱