Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 获取usb串行FTDI的COM端口号_Batch File_Registry_Usbserial_Ftdi - Fatal编程技术网

Batch file 获取usb串行FTDI的COM端口号

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

我有一个FTDI usb串行接口,我对在
usb串行转换器a
上获得分配给设备的COM端口感兴趣。是否有一种方法可以通过编程(比如cmd)列出这些信息,以提取与该位置对应的COM端口号。我可以在设备管理器属性中查看此信息,因此我想有一种方法可以通过脚本获取此信息?我确信我要连接的COM端口将位于串行转换器A上。 我正在查找usb设备的注册表项,我要连接的设备转到VCP0。缩小我的问题范围,从查询ing
HKEY\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循环对我来说都是陌生的,如果你能提供一些背景,那就太好了。我在回答的底部添加了对直接注册表查询命令的更正。