Command line 如何通过命令行删除COM端口(不安装)

Command line 如何通过命令行删除COM端口(不安装),command-line,serial-port,windows-7-x64,Command Line,Serial Port,Windows 7 X64,设置:一个围绕Windows7 PC构建的自动化测试站。UUT(测试单元)经常连接和断开,从而创建许多COM端口 问题:测试正在特定COM端口上搜索设备,要求用户手动删除“ghost”COM端口 问题:由于该软件由多个测试站在生产车间并行使用,因此我无法安装其他软件(例如,Devcon,Windows SDK的一部分)。是否有删除COM端口的命令行选项?基于 唯一对我有效的方法不是预期的解决方案。。。但它符合当前的情况: 在C:\windows\system32上创建了批处理文件 内容: REG

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

问题:测试正在特定COM端口上搜索设备,要求用户手动删除“ghost”COM端口

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

基于

唯一对我有效的方法不是预期的解决方案。。。但它符合当前的情况:

  • 在C:\windows\system32上创建了批处理文件
  • 内容:

    REG添加“HKEY\U LOCAL\U MACHINE\SYSTEM\CurrentControlSet\Control\COM名称仲裁器”/v ComDB/t REG\U BINARY/d 0206/f

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

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

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

  • 执行此批处理文件将删除不必要的组件,同时保留我想要的组件
  • *批处理应位于system32,以提升(管理员)身份执行
    *有关更多详细信息,请参阅

    我认为Windows驱动程序SDK中有相关内容。但您也必须安装它。您不必一直删除剩余端口,只需防止它们被创建。谢谢您的想法,我将对其进行测试。@Alex-P谢谢您的想法,但即使在断开和重新连接同一设备时,问题也会发生。我试图更改注册表项,但是:1)这不是建议(即使是博客作者)2)它没有阻止添加“隐藏”端口