DevCon - диспетчер устройств в командной строке Windows. Не является внутренней или внешней командой исполняемой программой (adb, javac, telnet, fastboot) Не является внутренней или внешней командой – как исправить
Эра технологий - Информационный сайт
  • Главная
  • Windows
  • DevCon - диспетчер устройств в командной строке Windows. Не является внутренней или внешней командой исполняемой программой (adb, javac, telnet, fastboot) Не является внутренней или внешней командой – как исправить

DevCon - диспетчер устройств в командной строке Windows. Не является внутренней или внешней командой исполняемой программой (adb, javac, telnet, fastboot) Не является внутренней или внешней командой – как исправить

Многие пользователи при вводе в консоли (или в окне служебной программы) ряда команд, одними из которых являются «adb», «javac», «telnet», «fastboot» могут столкнуться с отказом системы от выполнения данной команды. И сопутствующим сообщением, что указанная команда «Не является внутренней или внешней командой, исполняемой программой или пакетным файлом». Обычно это связано с тем, что в системе на прописан путь к файлу, обслуживающему данную команду, а также с тем, что нужный компонент попросту не установлен в системе. В этом материале я расскажу, в чём суть ошибки «Не является внутренней или внешней командой исполняемой программой (adb, javac, telnet, fastboot)», а также как её исправить.

Суть и причины дисфункции (adb, javac, telnet, fastboot)

Как я уже упоминал выше, причиной появления данного сообщения является отсутствие у системы знания о местонахождении файлов, которые запускаются данными командами (обычно файлы имеют те же названия, что и команды, например, команда «fastboot» реализуется через файл fastboot.exe).

Путь к нужному файлу обычно прописан в переменной «PATH» настроек системы (там должен быть указан чёткий путь к директории, в котором размещены указанные файлы). Если нужные пути там не прописаны, то при вводе какой-либо из описанных команд система выдаёт ответ, что (имя файла) не является внутренней или внешней командой исполняемой программой.

Также причиной отсутствия поддержки таких команд (в частности, «telnet») является отсутствие данного компонента в системе (его необходимо установить самостоятельно).

В системной переменной «Path» необходимо прописать путь к директории, где находится запускаемый нами файл

Не является внутренней или внешней командой – как исправить

Чтобы избавиться от ошибки «Не является внутренней или внешней командой» необходимо указать системе путь (по-английски – «path») к директориям, где находятся нужные нам файлы.

Для этого необходимо точно знать, где находятся данные файлы (к примеру, «javac» может находиться по пути С:\Program Files\Java\jdk 1.8.0.45\bin (вместо «jdk 1.8.0.45» может быть «jdk» с другим числом). Необходимо скопировать указанный путь в буфер обмена (пометьте его курсором, а потом нажмите на сочетание клавиш Ctrl+C).

  1. Затем перейдите на рабочий стол ПК, наводите курсор на «Мой компьютер», нажмите на правую клавишу мыши, в появившемся меню выберите «Свойства».
  2. В открывшемся окне кликните на «Дополнительные параметры системы» слева, а затем на кнопку «Переменные среды».
  3. В «Системные переменные» ищете параметр «Path», и добавьте туда после точки с запятой скопированный вами ранее полный путь из директории Program Files\Java.
  4. Подтвердите изменения, нажав на «Ок», затем вновь откройте консоль, и наберите нужную команду (можете также перезагрузить систему для профилактики), ошибка может быть устранена.

Альтернативой может быть перенос не запускаемых файлов в известные системе директории (например, на общий корневой каталог ОС Виндовс, или в C:\Windows\System32), обычно система работает с ними вполне корректно.

https://youtu.be/awfBpttu-g4

Также, в случае некоторых компонентов (например, «telnet») проблема с ними возникает по причине их отсутствия в системе, потому их необходимо доустановить.

  1. В случае с «telnet» это делается переходом в «Панель управления» — «Программы и компоненты» — «Включение или выключение компонентов Windows».
  2. Находим там «Клиент Telnet» ставим слева от него галочку, и нажимаете на «Ок».
  3. Программа будет установлена и функционал «telnet» должен работать корректно.

Заключение

Ошибка «Не является внутренней или внешней командой (adb, javac, telnet, fastboot)» обычно возникает по причине отсутствия у системы информации о местонахождении данного файла (последняя обычно размещена в переменной «Path»), или отсутствия необходимого компонента в системе. Для исправления ошибки «не является внутренней или внешней командой» рекомендую прописать в параметре «Path» полный путь к папке, где находится файл, а также доустановить проблемные компоненты в систему (если изначально отсутствуют таковые). Это позволит стабилизировать работу системы, и пофиксить ошибку «Не является внутренней или внешней командой» на вашем ПК.

Утилита командной строки DevCon.exe (Dev ice Con sole) входит в состав средств для разработки драйверов (DDK) и поставляется с исходным кодом и документацией на английском языке. С ее помощью можно включать, выключать, перезапускать, обновлять, удалять и опрашивать отдельные устройства или группы устройств. Программа DevCon также предоставляет необходимые разработчику драйвера сведения, которые недоступны с помощью диспетчера устройств. Утилита DevCon может использоваться во всех версиях Windows старше Win2k, включая 32-х и 64-битные

Формат командной строки DevCon:

devcon.exe [-r] [-m:\\machine] command [ ...]

Параметры командной строки:

-r - если задано, то после выполнения команды выполняется перезагрузка системы.

machine - имя или IP-адрес удаленного компьютера.

command - команда, выполняемая DevCon.

arg - аргументы выполняемой команды.

Для получения справки по использованию команды используется парамет help :

devcon.exe help - отобразить краткую справку по использованию DevCon

devcon.exe help install - отобразить справку по использованию команды install

Параметры командной строки:

classfilter - Разрешить изменение фильтров классов.

classes - Отобразить все классы настройки устройств.

disable - Отключить устройства, которые соответствуют определенному идентификатору оборудования или экземпляра.

driverfiles - Отобразить установленные файлы драйверов.

drivernodes - Отобразить все узлы драйверов устройств.

enable - Включить устройства, которые соответствуют определенному идентификатору оборудования или экземпляра.

find - Найти устройства, которые соответствуют определенному идентификатору оборудования или экземпляра.

findall - Найти устройства, включая отсоединенные.

help - Отображение справочной информации.

hwids - Отобразить идентификаторы оборудования.

install - Установить устройство в ручном режиме.

listclass - Отобразить все устройства для класса настройки.

reboot - Перезагрузить локальный компьютер.

remove - Удалить устройства, которые соответствуют определенному идентификатору оборудования или экземпляра.

rescan - Выполнить поиск нового оборудования.

resources - Отобразить ресурсы устройств.

restart - Перезагрузить устройства, которые соответствуют определенному идентификатору оборудования или экземпляра.

stack - Отобразить ожидаемый стек драйверов устройств.

status - Отобразить рабочее состояние устройств.

update - Обновить устройство в ручном режиме.

UpdateNI - Обновить устройство в ручном режиме без уведомления пользователя.

SetHwID - Добавить, удалить или изменить порядок идентификаторов оборудования для устройств с корневым перечислением.

Для использования утилиты DevCon.exe требуются административные привилегии ("Запуск от имени Администратора" в среде Windows Vista / Windows 7 - 10)

Примеры использования утилиты DevCon:

devcon -m:\\SERVER find pci* - отобразить список всех PCI-устройств на удаленном компьютере с именем SERVER . Режим работы с удаленным подключением к другому компьютеру реализован только для ОС Windows XP / Windows Server 2003.

devcon -m:\\192.168.0.1 find pci* > C:\serverpci.txt - вывод списка всех PCI-устройств компьютера с IP-адресом 192.168.0.1 в текстовый файл C:\serverpci.txt

devcon find usb* - отобразить список устройств USB на локальном компьютере.

devcon find usbstor* - отобразить только флэшки и съемные диски, подключенные к USB (устройства класса usbstor ). Список классов устройств можно получить по команде devcon classes

devcon find =Display - отобразить список устройств класса Dislpay .

devcon find *pnp07* - отобразить список устройств, идентификатор оборудования которых содержит строку pnp07

devcon find *VEN_8086* - отобразить список устройств, производителем которых является Intel (идентификатор производителя оборудования содержит строку VEN_8086 )

PCI\VEN_1002&DEV_5964&SUBSYS_ 7C26174B&REV_01\ 4&38B71F77&0&0008: RADEON 9200 SE Family (Microsoft)

PCI\VEN_1002&DEV_5D44&SUBSYS_ 7C27174B&REV_01\ 4&38B71F77&0&0108: RADEON 9200 SE SEC Family (Microsoft)

PCI\VEN_10EC&DEV_8139&SUBSYS_ 813910EC&REV_10\ 4&2E98101C&0&48F0: Realtek RTL8139 Family PCI Fast Ethernet NIC

PCI\VEN_11AB&DEV_4320&SUBSYS_ 811A1043&REV_13\ 4&2E98101C&0&28F0: Marvell Yukon 88E8001/8003/8010

PCI Gigabit Ethernet Controller

PCI\VEN_11AB&DEV_5041&SUBSYS_ AD0E779F&REV_01\ 4&5D18F2DF&0: AT7B35J8 IDE Controller

PCI\VEN_8086&DEV_244E&SUBSYS_ 00000000&REV_C2\ 3&267A616A&0&F0: Intel(R) 82801 PCI - 244E

PCI\VEN_8086&DEV_24D0&SUBSYS_ 00000000&REV_02\ 3&267A616A&0&F8: Intel(R) 82801EB LPC- - 24D0

PCI\VEN_8086&DEV_24D1&SUBSYS_ 80A61043&REV_02\ 3&267A616A&0&FA: Intel(R) 82801EB Ultra ATA Storage - 24D1

PCI\VEN_8086&DEV_24D2&SUBSYS_ 80A61043&REV_02\ 3&267A616A&0&E8: Intel(R) 82801EB USB - - 24D2

PCI\VEN_8086&DEV_24D3&SUBSYS_ 80A61043&REV_02\ 3&267A616A&0&FB: Intel(R) 82801EB SMBus - 24D3

PCI\VEN_8086&DEV_24D4&SUBSYS_ 80A61043&REV_02\ 3&267A616A&0&E9: Intel(R) 82801EB USB - - 24D4

PCI\VEN_8086&DEV_24D5&SUBSYS_ 80F31043&REV_02\ 3&267A616A&0&FD: SoundMAX Integrated Digital Audio

PCI\VEN_8086&DEV_24D7&SUBSYS_ 80A61043&REV_02\ 3&267A616A&0&EA: Intel(R) 82801EB USB - - 24D7

PCI\VEN_8086&DEV_24DB&SUBSYS_ 80A61043&REV_02\ 3&267A616A&0&F9: Intel(R) 82801EB Ultra ATA Storage - 24DB

PCI\VEN_8086&DEV_24DD&SUBSYS_ 80A61043&REV_02\ 3&267A616A&0&EF: Intel(R) 82801EB USB2 - - 24DD

PCI\VEN_8086&DEV_24DE&SUBSYS_ 80A61043&REV_02\ 3&267A616A&0&EB: Intel(R) 82801EB USB - - 24DE

PCI\VEN_8086&DEV_2570&SUBSYS_ 00000000&REV_02\ 3&267A616A&0&00: Intel(R) 82865G/PE/P/GV/82848P CPU - I/O - 2570

PCI\VEN_8086&DEV_2571&SUBSYS_ 00000000&REV_02\ 3&267A616A&0&08: Intel(R) 82865G/PE/P/GV/82848P CPU - AGP - 2571

18 matching device(s) found on \\SERVER

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

devcon -m:\\comp findall *VEN_10ec* - отобразить список устройств производителя Realtek (VEN_10EC), включая отсутствующие, на удаленном компьютере comp . (только на Windows XP / Windows Server 2003).

devcon.exe resources * - отобразить список всех устройств и всех используемых ими ресурсов системы.

Пример отображаемой информации:

ACPI\FIXEDBUTTON\2&DABA3FF&0

Name: Device is not using any resources.

ACPI\GENUINEINTEL_-_X86_FAMILY_15_MODEL_4\_0

Name: Intel(R) Pentium(R) 4 CPU 2.40GHz

Device is not using any resources.

ACPI\PNP0000\4&35F762C4&0

ACPI\PNP0100\4&35F762C4&0

Name: Device has the following resources reserved:

ACPI\PNP0200\4&35F762C4&0

Name: Device has the following resources reserved:

ACPI\PNP0303\4&35F762C4&0

Name: Device is currently using the following resources:

Name: Device is currently using the following resources:

ACPI\PNP0700\4&35F762C4&0

Name: Device is currently using the following resources:

По каждому устройству выдается его имя и список используемых ресурсов:

IO: 03f0-03f5 - диапазон портов ввода-вывода (3f0-3f5).
DMA: 2 - номер канала прямого доступа к памяти (например, канал 2)
IRQ: 6 - номер прерывания, используемого устройством (например 6).
MEM: fed20000-fed8ffff - диапазон адресов используемой оперативной памяти

devcon resources =ports - отобразить ресурсы, используемые устройствами класса ports . К данному классу относятся контроллеры параллельных и последовательных портов ввода-вывода (порты LPT и COM)

devcon driverfiles =net - отобразить список используемых драйверов сетевых устройств (устройств класса net ). Отображается имя устройства, источник установленного драйвера, пути и мена файлов:

Driver installed from c:\windows\inf\netrtsnt.inf . 1 file(s) used by driver:

C:\WINDOWS\system32\ DRIVERS\RTL8139.sys

PCI\VEN_11AB&DEV_4320&SUBSYS _811A1043&REV_13\ 4&2E98101C&0&28F0

Name: Marvell Yukon 88E8001/8003/8010 PCI Gigabit Ethernet Controller

Driver installed from c:\windows\inf\oem6.inf . 1 file(s) used by driver:

C:\WINDOWS\system32\ DRIVERS\yk51x86.sys

ROOT\MS_L2TPMINIPORT\0000

Name: Driver installed from c:\windows\inf\netrasa.inf . No files used by driver

devcon stack =net > stack-net - записать в текстовый файл stack-net стек драйверов класса Net . Стек включает в себя драйвер устройства, нижний и верхний фильтр, системную службу, обслуживающую устройство.

PCI\VEN_10EC&DEV_8139&SUBSYS _813910EC&REV_10\ 4&2E98101C&0&48F0

Name: Realtek RTL8139 Family PCI Fast Ethernet NIC

Setup Class: {4D36E972-E325-11CE -BFC1-08002BE10318} Net

Controlling service:

PCI\VEN_10EC&DEV_8139&SUBSYS _813910EC&REV_10\ 4&2E98101C&0&48F0 - код экземпляра устройства.
Name - название
Setup Class - класс установки.
Controlling service - управляющий сервис.

Для определения текущего состояния устройства используется подкоманда status :

devcon status ROOT\RDP* - отобразить состояние драйверов, идентификаторы которых начинаются строкой ROOT\RDP , т. е. используемых службой терминалов.

Установка нового устройства возможна только на локальном компьютере и требуется обязательное наличие INF-файла:

devcon -r install %WINDIR%\Inf\Netloop.inf *MSLOOP - установить новый экземпляр петлевого адаптера. Ключ -r требует перезагрузку после установки драйвера.

Для изменения фильтров драйверов используются команды:

devcon classfilter upper !filter1 !filter2 - удалить два заданных верхних фильтра. Признаком действия на удаление является символ ! перед именем фильтра.

devcon classfilter lower !badfilter +goodfilter - заменить нижний фильтр "badfilter" на "goodfilter".

Изменения для фильтров вступают в силу либо при перезапуске основного драйвера, либо при перезагрузке компьютера. Подробную справку по управлению фильтрами можно получить по команде devcon help classfilter

Утилита DevCon позволяет останавливать, запускать или перезапускать отдельно выбранные устройства или группы устройств.

devcon disable =mouse - отключить драйвер устройства класса mouse , т.е отключить мышь.

devcon enable =mouse - включить драйвер устройства класса mouse

devcon restart =mouse - перезапустить драйвер устройства класса mouse

В практике сетевого администрирования, команду DevCon нередко используют для перезапуска сетевых адаптеров. Например, для сетевого адаптера Realtek RTL8139, с идентификатором PCI\VEN_10EC&DEV_8139 . . . можно воспользоваться командой:

devcon restart "PCI\VEN_10EC&DEV_8139*"

Обратите внимание - двойные кавычки в начальной части идентификатора сетевого адаптера обязательны. В противном случае, символ & будет обработан интерпретатором CMD Windows как стандартный символ объединения команд - команды devcon restart "PCI\VEN_10EC и команды DEV_8139* . Первая выполнит рестарт для всех существующих в системе адаптеров производителя Realtek, а вторая вызовет сообщение о том, что DEV_8139* не является внутренней или внешней командой, исполняемой программой или пакетным файлом.

Очень часто утилита DevCon используется для блокировки сетевой активности системы (временного отключения всех сетевых устройств):

devcon disable =net

Также, утилита может использоваться для перезапуска зависших модемов и беспроводных USB-адаптеров с использованием планировщика и сценария, проверяющего доступность какого-либо узла в интернет и выполняющего команду devcon restart в случае его недоступности.

Команда DevCon возвращает следующие коды ErrorLevel:

0 - команда выполнена успешно;
1 - требуется перезагрузить компьютер;
2 - команда не выполнена;
3 - синтаксическая ошибка.

Как уже упоминалось выше, утилита devcon не является стандартным компонентом системы, и не устанавливается вместе с Windows, однако, ее можно скачать в составе некоторых служебных пакетов от Microsoft (Windows Driver Kit, Visual Studio, Windows SDK for desktop apps). Утилиту можно извлечь из перечисленных пакетов и для удобства использования, добавить в каталог, присутствующий в путях поиска исполняемых файлов, задаваемых переменной PATH , например \Windows\system32.

Обратите внимание на то, что 64-разрядная версия утилиты devcon64 не работает в 64-разрядных Windows 10 (Windows 8, 8.1, Windows 7). Она разрабатывалась только для 64-разрядной Windows XP. Если у Вас другая ОС Windows – пользуйтесь либо 32-разрядной версей DevСon.exe , которая прекрасно работает во всех версиях Windows старше Windows 2000, включая и 64-разрядные, либо 64-разрядной версией из пакета EWDK для Windows 10. Последняя не проверялась в среде 64-разрядной ОС Windows XP.

Страница с описанием на английском языке и ссылкой для скачивания DevCon в составе пакетов для разработчиков драйверов на сайте Microsoft. - На данной странице нет прямой ссылки для скачивания DevCon, но, например, имеется ссылка на страницу с актуальной версией Enterprise Windows Driver Kit (EWDK), а также инструкции по его загрузке и установке. Все пакеты, в состав которых включена утилита DevCon, имеют внушительный объем – придется скачивать несколько гигабайт данных. После установки выбранного пакета потребуется определить место расположения файлов DevCon , и при необходимости, добавить путь исполняемых файлов в системную переменную PATH или скопировать их в уже существующий каталог для поиска.

Скачать ZIP-архив 32-разрядной утилиты DevCon.exe . Работает в 32- и 64-разрядных ОС Windows Vista, Windows 7 и более поздних.

Скачать ZIP-архив утилиты DevCon.exe, разработанной только для 64-разрядной ОС Windows XP. Не работает в 64-разрядных ОС Windows Vista, Windows 7/8 и более поздних.

Скачать ZIP-архив утилиты DevCon.exe 32-х и 64-разрядных ОС из пакета Enterprise Windows Driver Kit for Windows 10, version 1804 (EWDK). Проверено на серверных ОС Windows и 32-х и 64-разрядных ОС Windows 7-10.

"Cкажите, а где можно узнать пароль к архиву MultiKey?"

На странице загрузок написан пароль ко всем архивам, он соответствует названию сайта - "сайт "

"В чем отличие сервисов тестирования программ и создания бэкапа ключа?"

Сервис тестирования программ включает в себя более полный анализ тестируемого приложения, выявление и обход защитных механизмов, определение общей стойкости защиты.
Результатом такого тестирования при успешном его исходе является создание тестового ПО (эмулятора) для обхода (отключения) защитных механизмов и создание рекомендаций по усилению защиты.
Сервис создания бэкапа ключа - это создание резервной копии данных с ключа, обычно оформляется в виде эмулятора даного ключа.
Анализ ПО в даном случае не производится, резервная копия формируется на основе данных, полученных от пользователя.

"Какие данные будут необходимы при заказе тестирования или бэкапа?"

При заказе тестирования ПО или бэкапа ключа будут необходимы такие данные:

  1. Дамп ключа защиты - делается дампером для соответствующего типа ключа.
  2. Лог подключения ключа и запуска тестируемого ПО. Логи делаются программой UsbTrace. Как правильно снять логи смотреть
  3. Дистрибутив программы. Обязателен для тестирования ПО. При бэкапе необходим в некоторых случаях.

"Не могу установить мультикей на виндоус 7 64-х, при запуске инсталла выдает следующее: devcon не является внутренней или внешней командой, исполняемой программой или пакетным файлом?"

Общий порядок установки эмулятора на 64-бит системы.

  1. На 64-бит системы установка эмулятора возможна только в режиме отключения проверкм цифровой подписи драйверов. Для этого в начале загрузки ОС нажать F8 и выбрать режим отключения проверки цифровой подписи драйверов. Это действие надо производить при каждом запуске ОС, или для автоматизации процесса использовать сторонние утилиты типа "dseo13b".
  2. Перед установкой (переустановкой) эмулятора обязательно необходимо удалить старую версию (remove.cmd) и очистить системные файлы (infclean.exe). Указанные программы находятся в папке с эмулятором. Все действия необходимо выполнять с правами администратора. Для этого в свойствах файлов devcon.exe, infclean.exe установить галочку "Выполнять эту программу от имени администратора" на вкладке "Совместимость".
  3. Установить reg-файл дампа ключа с валидной лицензией.
  4. Установить эмулятор (install.cmd). В процессе установки ОС должна выдать сообщение о попытке установки неподписанного драйвера. Разрешить установку. Если установлен коректный reg-файл с валидной лицензией то через некоторое время ОС должна обнаружить подключение виртуального юсб-устройства по типу модели эмулируемого ключа.

Вернемся к решению моей задачи. Для того, чтобы отобразить все существующие в системе сетевые устройства, необходимо ввести следующее:

C:\>devcon.exe find =net

Программа отобразила 7 устройств! У меня на сервере всего 2 сетевые карты Intel® PRO /1000 EB Network Connection. Но тут я вспомнил, что диспетчер устройств не отображает скрытые устройства. Чтобы их увидеть необходимо в окне диспетчера устройств выбрать в меню “Вид” -> “Показать скрытые устройства”. Теперь все в норме! :)

Для того, чтобы отключить все показанные сетевые устройства, необходимо дать следующую команду (лучше не делать этого удаленно!):

C:\>devcon.exe disable =net

Диспетчер устройств честно нам покажет, что все сетевые устройства отключены. Сеть полностью отключена, что нам и требовалось.

Для того, чтобы включить сетевые устройства, необходимо дать команду:

C:\>devcon.exe enable =net

Проконтролируем включение всех сетевых устройств в диспетчере устройств.

Нам осталось написать два командных файла с указанными выше командами включения и отключения сетевых устройств и сделать на основе них задачи, чтобы они выполнялись в необходимое время.

Мне осталось только напомнить, так как с помощью программы DevCon вы можете отключить практически любое устройство своего компьютера, пользоваться ей надо очень осторожно! Не отключайте устройства по маске, не отключайте неизвестные вам устройства, вы таким образом можете добиться полной неработоспособности своей операционной системы.

Лучшие статьи по теме