如何通过命令行删除 COM 端口(w/o 安装)
How can I remove COM ports by command line (w/o installing)
设置:围绕 Windows 7 PC 构建的自动化测试站。 UUT(被测单元)经常连接和断开,创建许多 COM 端口。
问题:测试正在特定 COM 端口搜索设备,要求用户手动删除 "ghost" com 端口。
问题:由于该软件由多个测试站并行使用,在生产车间,我无法安装其他软件(例如 Devcon,Windows SDK 的一部分)。是否有删除 COM 端口的命令行选项?
唯一对我有用的不是预期的解决方案......但它适合手头的情况:
- 在 C:\windows\system32
创建了一个批处理文件
内容:
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter" /v ComDB /t REG_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 0 1 1 0 0 0 0 0 1 1 0
因为我希望保留 com1、com2、com10 和 com11 - 0000 0011 0000 0110 - 代表 0206
- 执行此批处理文件将删除不必要的组件,同时保留我想要的组件
*批处理应该在 system32 以提升的身份执行(管理员)
*更多详情请参考this PDF
设置:围绕 Windows 7 PC 构建的自动化测试站。 UUT(被测单元)经常连接和断开,创建许多 COM 端口。
问题:测试正在特定 COM 端口搜索设备,要求用户手动删除 "ghost" com 端口。
问题:由于该软件由多个测试站并行使用,在生产车间,我无法安装其他软件(例如 Devcon,Windows SDK 的一部分)。是否有删除 COM 端口的命令行选项?
唯一对我有用的不是预期的解决方案......但它适合手头的情况:
- 在 C:\windows\system32 创建了一个批处理文件
内容:
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter" /v ComDB /t REG_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 0 1 1 0 0 0 0 0 1 1 0
因为我希望保留 com1、com2、com10 和 com11 - 0000 0011 0000 0110 - 代表 0206
- 执行此批处理文件将删除不必要的组件,同时保留我想要的组件
*批处理应该在 system32 以提升的身份执行(管理员) *更多详情请参考this PDF