【问题标题】:How can I remove COM ports by command line (w/o installing)如何通过命令行删除 COM 端口(无需安装)
【发布时间】:2018-06-20 15:52:32
【问题描述】:

设置:一个自动化测试站,围绕 Windows 7 PC 构建。 UUT(待测单元)经常连接和断开连接,从而创建了许多 COM 端口。

问题:测试是在特定的 COM 端口上搜索设备,需要用户手动删除“ghost” com 端口。

问题:由于该软件由多个测试站并行使用,在生产车间,我无法安装其他软件(例如,Devcon,Windows SDK 的一部分)。是否有删除 COM 端口的命令行选项?

【问题讨论】:

  • 我认为在 Windows 驱动程序 SDK 中有一些东西。但你也必须安装它。
  • 而不必一直删除 residual 端口 - 您可以阻止它们被创建 blogs.msdn.microsoft.com/…
  • 谢谢你的这个想法,我会测试一下。
  • @Alex-P 感谢您的这个想法,但即使使用同一设备断开连接并重新连接,也会出现问题。我试图更改注册表项,但是:1)不建议这样做(即使是博客的作者)2)它并没有阻止添加“隐藏”端口

标签: command-line serial-port windows-7-x64


【解决方案1】:

基于This blog entry

唯一真正对我有用的不是预期的解决方案......但它适合手头的情况:

  1. 在 C:\windows\system32 创建了一个批处理文件
  2. 内容:

    REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM 名称仲裁器" /v ComDB /t REG_BINARY /d 0206 /f

  3. 注册表项的实际值(在我的示例中为 0206)可以从该键读取(使用 regedit)或从二进制计算:

com8 com7 com6 com5 com4 com3 com2 com1 com16 com15 com14 com13 com12 com11 com10 com9 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0

因为我希望保留 com1、com2、com10 和 com11 - 0000 0011 0000 0110 - 代表 0206

  1. 执行此批处理文件将删除不必要的 comport,同时保留我想要的那些

*批处理应在 system32 以提升权限执行(管理员) *更多详情请参考this PDF

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-10
    • 2011-01-01
    • 2011-06-24
    • 1970-01-01
    • 2023-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多