现在 Windows 环境下可以直接给串口设置自定义友好名称,也就是 FriendlyName,解决了多个 USB CDC 虚拟串口同时插上之后,设备管理器里只显示 COM 编号,分不清哪个串口对应传感器、调试口、日志口的痛点。之前多个复合 CDC 设备一起使用时,只能点开设备属性,查看总线描述才能判断设备功能,调试、测试的时候特别麻烦,现在借助 PowerShell 脚本工具,管理员权限运行命令就能给指定 COM 口打上自定义别名,修改之后在设备管理器直接看到备注名字,不用反复查属性。这个修改是绑定当前电脑的串口号来生效的,在本机设置一次之后,只要 COM 号不变,名字就一直保留;换电脑、设备重新分配 COM 号之后就要重新设置。日常单片机调试、多串口工控、机器人开发场景都很适合,操作的时候先确认目标 COM 编号,管理员打开 PowerShell,执行重命名脚本,设置完成后还支持备份、恢复串口原名。
一、两种串口改名方式对比
| 方式 | 实现方案 | 优点 | 局限 |
|---|---|---|---|
| 系统侧自定义 FriendlyName | PowerShell 脚本修改注册表 | 不用改固件,任意 CDC 串口都能临时改名 | 绑定 COM 号,换电脑 / COM 变动失效 |
| 固件端修改设备描述 | 烧录固件、修改 USB 描述符 | 插任何电脑都自带名字,永久生效 | 需要改源码,芯片固件要重新编译烧录 |
二、PowerShell 脚本改名操作步骤
- 打开 Windows 设备管理器,确认目标串口 COM 编号,比如 COM38
- 以管理员身份打开 PowerShell 终端
- 执行重命名脚本,示例命令:& "rename_serial_port.ps1" -PortName "COM38" -FriendlyName "osprey-wch-link"
- 刷新设备管理器,端口名称就会更新为自定义名称
- 脚本自带备份,需要还原时执行恢复命令
三、适合使用串口自定义名称的场景清单
- 多 CDC 复合设备,一个 USB 设备同时分出 2 路及以上串口
- 桌面同时插多个调试器、传感器、采集模块,COM 号容易混淆
- 工厂产测、工控调试,需要一眼识别串口用途
- 临时调试、快速区分日志口和控制口,不想改动芯片固件
四、注意事项清单
- 脚本必须管理员权限运行,普通权限会修改失败
- 改名只修改 Windows 设备管理器显示别名,不会改变底层 COM 编号,串口软件依旧填 COM 号连接
- 设备拔插后系统分配 COM 号变化,自定义名称会失效,需要重新设置
- 虚拟串口、硬件 RS485 转串口同样适用这个改名方法
【常见问题】
问题 1:串口自定义名称,会不会改变串口原本的 COM 编号?
回答 1:串口自定义名称只是修改设备管理器里的友好显示名,不会改变底层 COM 编号,串口调试软件连接的时候还是填写原来的 COM 号。
问题 2:串口自定义名称之后,换到别的电脑上还能保留这个名字吗?
回答 2:串口自定义名称是写在当前电脑系统注册表里面,和本机 COM 号绑定,换到别的电脑需要重新执行脚本设置串口自定义名称。
问题 3:串口自定义名称和在固件里修改 USB 描述符有什么不一样?
回答 3:串口自定义名称是电脑端临时配置,不用改代码;固件修改 USB 描述符是烧录到芯片里,不管插到哪台电脑,设备自带名字,但是需要修改、重烧固件。
问题 4:所有 USB 转串口都支持串口自定义名称吗?
回答 4:Windows 上的 CDC 虚拟串口、CH340、CP2102 这类 USB 转串口,都可以用这套脚本做串口自定义名称,不限制芯片型号。
【参考资料】
[2026-11-11](串口终于可以自定义名称啦!)电子工程专辑
[2026-11-05](Windows 注册表修改 COM 端口友好名称教程)51 单片机论坛
[2026-10-20](沁恒 CH910X 串口 USB 描述符修改说明)沁恒微电子社区
[2026-09-12](Linux 使用 udev 规则给串口固定别名)腾讯云开发者社区
【免责声明】
以上内容仅基于公开技术文章整理,串口自定义名称脚本修改注册表存在一定风险,操作前建议备份注册表,操作不当可能导致串口识别异常,不构成工业设备生产、产线使用的方案推荐。
