rookie
rookie

Reputation: 1208

Get COM port number of usb serial FTDI

I have a FTDI usb-serial and I am interested in the getting the COM port assigned to the device on USB serial converter A. Is there a way I can list this information programatically (say cmd) to extract the COM port number that corresponds to the one at that location. I can view this information in the device manager properties, so there could be a way to get this information through a script I guess? I am certain the COM port I would connect to will be on the serial converter A. I was looking up the registry entries for the usb device and the device I want to connect to goes to VCP0. to narrow down my question, whats the best way to get the COM number from query-ing HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM

which gives me:

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

EDIT: I am trying to get the value of data for \Device\VCP0 using this command, but I think I am not escaping backslashes correctly:

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

Upvotes: 0

Views: 2457

Answers (1)

Compo
Compo

Reputation: 38579

Here's one way to do it:

@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

You should only ever need to modify the device name on line 2 and place any of your own commands beneath from the Rem line.

Possible corrections for your straight query command are either:

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

Or:

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

There was no need to escape the backslashes in the device name, and a little confusion in root key syntax

Upvotes: 2

Related Questions