Tested with your sample data in input.txt. Results are written to output.txt.
(set s=)
for /f "tokens=2 delims=()" %%A in ('findstr /i /r "^USB..*(COM[0-9][0-9]*)$" input.txt') do (call set "s=%%s%%,%%A" & call set "s=%%s:COM=%%")
if defined s (echo "%s:~1%") > output.txt