4

У нас есть компьютер, который используется для тестирования некоторых устройств. Время от времени тестеры должны входить и удалять назначенные COM-порты, чтобы они освобождались и начинали с 1. В последнее время он назначает им один и тот же COM-порт для нескольких устройств (около 8 подключены одновременно), а также им необходимо изменить тестовый код, чтобы он соответствовал номеру, назначенному ОС.

Дублирующиеся номера были проблемой, о которой сообщалось, но я считаю, что «необходимость проверять COM-порты и обновлять код» несколько раз в день также является проблемой.

В диспетчере устройств, если я включаю, чтобы показать скрытые устройства, я вижу сотни из них!

Введите описание изображения здесь

По размеру полосы прокрутки можно сказать, что список довольно большой. Я могу щелкнуть по каждому из них и удалить, но это безумие: 1: 1, поэтому я запрашиваю альтернативу командной строки, поэтому я могу написать скрипт, по которому они могут дважды щелкнуть, когда им нужно сбросить порты.

Конечно, если есть какое-то программное обеспечение, которое позволит этому случиться, это тоже хорошо.

2 ответа2

6

Удалить активные порты USB:

devcon /r remove @usb\*

Удалить активные LPT и COM порты:

devcon /r remove =ports

Запросите все порты COM и LPT:

devcon FindAll =Ports

Запросить активные порты USB:

devcon status @usb\*

Запросить все порты USB - разные результаты:

devcon findall @usb\*
devcon findall =USB

Перечислите все устройства:

devcon hwids * > hwids.txt

Часть на WDK, Windows Driver Kit Версия 7.1.0.

Старая версия, 2003-01-29, не работает на Windows 7 (не на устройстве). devcon старая версия 2003-01-29

Исходный код для DevCon

Альтернатива 1 - PnPUtil

Альтернатива 2 - ключ реестра, поиск USB-устройства по подразделу

Не все!

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\HID
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\ACPI

Пример:

reg delete "HKLM\SYSTEM\CurrentControlSet\Enum\USBSTOR\Disk&Ven_Seagate&Prod_USB_2.0_Cable&Rev_0148" /f

Если порты перечисляют devcon FindAll =Ports - удалите этот раздел реестра:|

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\ACPI

Если порты перечисляют devcon status @usb\* - удалите этот раздел реестра:|

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB

Пример:

Открыть реестр

Изменить разрешение

Удалить ключ

Thx geermc4! Я проверил devcon. В Windows Driver Kit Version он работает правильно с Windows 7.

Профиль оборудования можно настроить только для Windows XP. Мы не сможем установить Windows 7. Это по замыслу ... резервное копирование HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum ...

-1

Мне также нужно протестировать сотни единиц. Однако я попытался использовать командную строку "devcon /r remove @ usb *" и devcon /r remove = ports ", которая не работала. Я также скачиваю WDK (не знаю, как его использовать). Я почувствовал смущение после прочтения разговора. @ geermc4 и @STTR, не могли бы вы объяснить, как вы это сделали?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .