Batch file 获取usb串行FTDI的COM端口号
我有一个FTDI usb串行接口,我对在Batch file 获取usb串行FTDI的COM端口号,batch-file,registry,usbserial,ftdi,Batch File,Registry,Usbserial,Ftdi,我有一个FTDI usb串行接口,我对在usb串行转换器a上获得分配给设备的COM端口感兴趣。是否有一种方法可以通过编程(比如cmd)列出这些信息,以提取与该位置对应的COM端口号。我可以在设备管理器属性中查看此信息,因此我想有一种方法可以通过脚本获取此信息?我确信我要连接的COM端口将位于串行转换器A上。 我正在查找usb设备的注册表项,我要连接的设备转到VCP0。缩小我的问题范围,从查询ingHKEY\U LOCAL\U MACHINE\HARDWARE\DEVICEMAP\SERIALCO
usb串行转换器a
上获得分配给设备的COM端口感兴趣。是否有一种方法可以通过编程(比如cmd)列出这些信息,以提取与该位置对应的COM端口号。我可以在设备管理器属性中查看此信息,因此我想有一种方法可以通过脚本获取此信息?我确信我要连接的COM端口将位于串行转换器A上。
我正在查找usb设备的注册表项,我要连接的设备转到VCP0。缩小我的问题范围,从查询ingHKEY\U LOCAL\U MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM
这给了我:
HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM
\Device\VCP0 REG_SZ COM9
\Device\VCP1 REG_SZ COM10
编辑:我试图使用此命令获取\Device\VCP0
的数据值,但我认为我没有正确地转义反斜杠:
REG QUERY“HKLM:\HKEY\u LOCAL\u MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM”/v“\\Device\\VCP0”
以下是一种方法:
@Echo关闭
设置“CDev=VCP0”
设置“RKey=HKLM\HARDWARE\DEVICEMAP\SERIALCOMM”
设置“CNum=”
对于/F“跳过=1标记=3”%%A,在(
'注册查询“%RKey%”/V“\Device\%CDev%”2^>Nul”)是否设置CNum=%A
如果未定义CNum退出/B
把你的命令放在这里
回声%CNum%
超时5>Nul
您只需在2
行上修改设备名称,并在Rem
行下方放置您自己的任何命令
直接查询命令的可能更正如下:
Reg查询“HKLM\HARDWARE\DEVICEMAP\SERIALCOMM”/V“\Device\VCP0”
或:
Reg Query“HKEY\U LOCAL\u MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM”/V“\Device\VCP0”
没有必要避开设备名称中的反斜杠,根键语法也有点混乱,这里有一种方法:
@Echo关闭
设置“CDev=VCP0”
设置“RKey=HKLM\HARDWARE\DEVICEMAP\SERIALCOMM”
设置“CNum=”
对于/F“跳过=1标记=3”%%A,在(
'注册查询“%RKey%”/V“\Device\%CDev%”2^>Nul”)是否设置CNum=%A
如果未定义CNum退出/B
把你的命令放在这里
回声%CNum%
超时5>Nul
您只需在2
行上修改设备名称,并在Rem
行下方放置您自己的任何命令
直接查询命令的可能更正如下:
Reg查询“HKLM\HARDWARE\DEVICEMAP\SERIALCOMM”/V“\Device\VCP0”
或:
Reg Query“HKEY\U LOCAL\u MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM”/V“\Device\VCP0”
没有必要避开设备名称中的反斜杠,根键语法也有点混乱啊,我明白了,所以问题是我在路径前面添加了
HKLM
?我不需要逃避反斜杠。for循环非常漂亮,请解释一下Skip=1 Tokens=3
在做什么?事实上,整个for循环对我来说很陌生,如果你能提供一些背景,那就太好了。我在回答的底部添加了对直接注册表查询命令的更正。啊,我明白了,所以问题是我在路径前面添加了HKLM
?我不需要逃避反斜杠。for循环非常漂亮,请解释一下Skip=1 Tokens=3
在做什么?实际上整个for循环对我来说都是陌生的,如果你能提供一些背景,那就太好了。我在回答的底部添加了对直接注册表查询命令的更正。