Devcon не е вътрешна или външна команда. DevCon е мениджър на устройства в командния ред на Windows

Да се ​​върнем към решаването на моя проблем. За да покажете всички мрежови устройства, съществуващи в системата, трябва да въведете следното:

C:\>devcon.exe find =net

Програмата показва 7 устройства! Имам само 2 мрежови карти Intel® PRO /1000 EB Network Connection на моя сървър. Но тогава се сетих, че Диспечерът на устройства не показва скрити устройства. За да ги видите, в прозореца на диспечера на устройствата изберете “Преглед” -> “Показване на скритите устройства” от менюто. Сега всичко е нормално! :)

За да деактивирате всички показани мрежови устройства, трябва да подадете следната команда (по-добре е да не правите това дистанционно!):

C:\>devcon.exe деактивиране =net

Диспечерът на устройства честно ще ни покаже, че всички мрежови устройства са деактивирани. Мрежата е напълно спряна, което ни трябваше.

За да активирате мрежовите устройства, трябва да подадете командата:

C:\>devcon.exe enable=net

Нека проверим дали всички мрежови устройства са включени в диспечера на устройства.

Всичко, което трябва да направим, е да напишем два пакетни файла с горните команди за активиране и деактивиране на мрежови устройства и да създадем задачи въз основа на тях, така че да се изпълняват в необходимото време.

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

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

Формат на командния ред на DevCon:

devcon.exe [-r] [-m:\\machine] команда [ ...]

Опции на командния ред:

- ако е посочено, тогава след изпълнение на командата системата се рестартира.

машина- име или IP адрес на отдалечения компютър.

команда- команда, изпълнявана от DevCon.

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

За да получите помощ при използването на командата, използвайте параметъра помогне:

помощ за devcon.exe- показване на бърза помощ за използване на DevCon

devcon.exe помощ при инсталиране- показване на помощ за използване на командата Инсталирай

Опции на командния ред:

класов филтър- Позволява промяна на филтрите за класове.

класове- Показване на всички класове конфигурация на устройството.

деактивирайте- Деактивирайте устройства, които съответстват на конкретен хардуер или идентификатор на екземпляр.

драйверни файлове- Показване на инсталирани файлове на драйвери.

драйверни възли- Показване на всички възли на драйвера на устройството.

активирайте- Активиране на устройства, които съответстват на конкретен хардуер или идентификатор на екземпляр.

намирам- Намерете устройства, които съответстват на конкретен хардуер или идентификатор на екземпляр.

findall- Намерете устройства, включително прекъснати.

помогне- Показване на помощна информация.

hwids- Показване на ID на оборудването.

Инсталирай- Инсталирайте устройството ръчно.

listclass- Показване на всички устройства за клас на настройка.

рестартирайте- Рестартирайте локалния компютър.

Премахване- Премахнете устройства, които съответстват на конкретен хардуер или идентификатор на екземпляр.

повторно сканиране- Търсене на ново оборудване.

ресурси- Показване на ресурсите на устройството.

рестартирам- Рестартирайте устройства, които съответстват на конкретен хардуер или идентификатор на екземпляр.

стек- Показване на очаквания стек драйвери на устройства.

състояние- Показване на работното състояние на устройствата.

актуализация- Актуализирайте устройството ръчно.

UpdateNI- Актуализирайте устройството ръчно, без да уведомявате потребителя.

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

За да използвате помощната програма DevCon.exeНеобходими са административни привилегии („Изпълни като администратор“ в Windows Vista / Windows 7 - 10)

Примери за използване на помощната програма DevCon:

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

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

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

devcon намери usbstor*- показват само флаш устройства и сменяеми устройства, свързани към USB (устройства от клас usbstor). С помощта на командата може да се получи списък с класове устройства devcon класове

devcon find = Показване- показване на списък с клас устройства Dislpay.

devcon намери *pnp07*- показване на списък с устройства, чийто хардуерен идентификатор съдържа низа pnp07

devcon намери *VEN_8086*- показване на списък с устройства, произведени от Intel(ИД на производителя на хардуера съдържа низа VEN_8086)

PCI\VEN_1002&DEV_5964&SUBSYS_ 7C26174B&REV_01\ 4&38B71F77&0&0008: семейство RADEON 9200 SE (Microsoft)

PCI\VEN_1002&DEV_5D44&SUBSYS_ 7C27174B&REV_01\ 4&38B71F77&0&0108: Семейство RADEON 9200 SE SEC (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 контролер

PCI\VEN_11AB&DEV_5041&SUBSYS_ AD0E779F&REV_01\ 4&5D18F2DF&0: AT7B35J8 IDE контролер

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 - AGP - 2571

18 съответстващи устройства са намерени на \\SERVER

За да покажете списък с устройства, включително липсващи или деактивирани, използвайте подкомандата findall

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

ресурси за devcon.exe *- показва списък на всички устройства и всички системни ресурси, които използват.

Пример за показана информация:

ACPI\FIXEDBUTTON\2&DABA3FF&0

Име: Устройството не използва никакви ресурси.

ACPI\GENUINEINTEL_-_X86_FAMILY_15_MODEL_4\_0

Име: Intel(R) Pentium(R) 4 CPU 2.40GHz

Устройството не използва никакви ресурси.

ACPI\PNP0000\4&35F762C4&0

ACPI\PNP0100\4&35F762C4&0

Име: Устройството има следните запазени ресурси:

ACPI\PNP0200\4&35F762C4&0

Име: Устройството има следните запазени ресурси:

ACPI\PNP0303\4&35F762C4&0

Име: Устройството в момента използва следните ресурси:

Име: Устройството в момента използва следните ресурси:

ACPI\PNP0700\4&35F762C4&0

Име: Устройството в момента използва следните ресурси:

За всяко устройство се показва неговото име и списък с използвани ресурси:

IO: 03f0-03f5- диапазон от I/O портове (3f0-3f5).
DMA: 2- номер на DMA канал (например канал 2)
IRQ: 6- номер на прекъсване, използвано от устройството (например 6).
MEM: fed20000-fed8ffff- диапазон от адреси на използваната RAM памет

devcon ресурси=портове- показване на ресурси, използвани от клас устройства пристанища. Този клас включва контролери за паралелни и серийни I/O портове (LPT и COM портове)

devcon драйверни файлове =net- показване на списък с използвани драйвери за мрежови устройства (клас устройства нето). Показва се името на устройството, източникът на инсталиран драйвер, пътят и имената на файловете:

Драйверът е инсталиран от c:\windows\inf\netrtsnt.inf. 1 файл(а), използвани от драйвера:

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

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

Име: Marvell Yukon 88E8001/8003/8010 PCI Gigabit Ethernet контролер

Драйверът е инсталиран от c:\windows\inf\oem6.inf. 1 файл(а), използвани от драйвера:

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

ROOT\MS_L2TPMINIPORT\0000

Име: Драйверът е инсталиран от c:\windows\inf\netrasa.inf. Няма файлове, използвани от драйвера

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

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

Име: Realtek RTL8139 Family PCI Fast Ethernet NIC

Клас на настройка: (4D36E972-E325-11CE -BFC1-08002BE10318) Net

Контролираща услуга:

PCI\VEN_10EC&DEV_8139&SUBSYS _813910EC&REV_10\ 4&2E98101C&0&48F0- код на екземпляр на устройство.
Име- Име
Клас за настройка- клас на монтаж.
Контролираща услуга-управленско обслужване.

За да определите текущото състояние на устройството, използвайте подкомандата състояние:

devcon състояние ROOT\RDP*- показва състоянието на драйвери, чиито идентификатори започват с низ ROOT\RDP, т.е. използвани от Терминалната услуга.

Инсталирането на ново устройство е възможно само на локален компютър и изисква наличието на INF файл:

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

За да промените филтрите на драйвера, използвайте следните команди:

devcon classfilter горен !filter1 !filter2- премахнете два посочени горни филтъра. Знакът за действие за изтриване е символът ! преди името на филтъра.

devcon classfilter по-нисък !badfilter +goodfilter- сменете долния филтър "badfilter" с "goodfilter".

Промените във филтрите влизат в сила или при рестартиране на основния драйвер, или при рестартиране на компютъра. Подробна помощ за управление на филтри може да бъде получена с помощта на командата devcon помощ класов филтър

Помощната програма DevCon ви позволява да спирате, стартирате или рестартирате индивидуално избрани устройства или групи от устройства.

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

devcon enable=мишка- активиране на драйвер за клас устройство мишка

devcon рестартиране=мишка- рестартирайте драйвера за клас устройство мишка

В практиката на мрежовата администрация екипът DevConчесто се използва за рестартиране на мрежови адаптери. Например за мрежовия адаптер Realtek RTL8139, с идентификатора PCI\VEN_10EC&DEV_8139. . .можете да използвате командата:

devcon рестартирайте "PCI\VEN_10EC&DEV_8139*"

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

Много често помощната програма DevCon се използва за блокиране на мрежовата активност на системата (временно деактивиране на всички мрежови устройства):

devcon деактивиране =net

Също така помощната програма може да се използва за рестартиране на замразени модеми и безжични USB адаптери с помощта на планировчик и скрипт, който проверява наличността на възел в Интернет и изпълнява командата рестартиране на devconв случай на липсата му.

Командата DevCon връща следните кодове ErrorLevel:

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

Както бе споменато по-горе, полезността devconне е стандартен компонент на системата и не се инсталира с Windows, но може да бъде изтеглен като част от някои сервизни пакети от Microsoft (Windows Driver Kit, Visual Studio, Windows SDK за настолни приложения). Помощната програма може да бъде извлечена от изброените пакети и за по-лесна употреба, добавена към директорията, присъстваща в пътищата за търсене на изпълними файлове, посочени от променливата ПЪТЕКА, например \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и ако е необходимо, добавете пътя на изпълнимите файлове към системната променлива ПЪТЕКАили ги копирайте в съществуваща директория за търсене.

Изтеглете 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 за Windows 10, версия 1804(EWDK). Тестван на Windows server OS и 32-битови и 64-битови Windows 7-10.

Когато се опитате да отворите която и да е команда през прозорец на помощна програма или конзола, срещате грешка - „Име на файл“ не е вътрешна или външна команда, изпълнима програма или пакетен файл. Системата упорито не отваря файла по някаква причина и този факт е много досаден. Причината за това може да бъде една от няколко опции: пътят до файла е неправилно посочен и изобщо липсата на компонент в системата, т.е. той не съществува на посочения адрес.

Основните причини, поради които се появява грешката „не е вътрешна или външна команда“.

Както вече споменахме, една от причините е, че пътят до файла, който трябва да се отвори, е неправилен. Обикновено пътят до файла се посочва в променливата „Path“ в системата, трябва да се посочи стриктният път до директорията, в която се намират необходимите файлове. Ако има грешки в настройките при посочване на път в променлива или при посочване на име на файл, системата ще генерира точно тази грешка - „име на файл“ не е вътрешна или външна команда, изпълнявана от програмата.

Първата стъпка е да посочите точния път на променливата „Path“ до операционната система, така че да не възникват грешки при отваряне на файла. За да направите това, трябва да знаете със сигурност местоположението на папката. Например, нека се обърнем към програма, която впоследствие ще работи с изпълним файл в определена папка.

Променливата Path е променлива на операционната система, която се използва за намиране на определени изпълними обекти чрез командния ред или терминал. Можете да го намерите в контролния панел на Windows. В новите версии на Windows и други операционни системи обикновено не се изискват ръчни инструкции.

Посочете правилния път в променливата на пътя в Windows 7

За да посочите правилно пътя, трябва да знаете точното местоположение на файла. Ако програмният файл, който трябва да се отвори, се намира на диска в C:\Program Files\Java\jdk 1.8.0.45\bin, тогава този път трябва да бъде копиран и указан в системната променлива за последващо отваряне.


Ако грешката се появи отново, опитайте да преместите програмата в работните директории на диска с инсталирана операционна система, например /System32. Windows работи с тази директория по-често.

Грешки възникват и поради липсващи програмни компоненти. Можете да ги премахнете, като добавите необходимите. Да вземем за пример компонента Telnet. За да го активирате, отидете на:


Задайте променливата "Path" в Windows 8/8.1/10

  1. Отидете на „Контролен панел“.
  2. Кликнете върху връзката „Разширени системни настройки“.
  3. Намерете „Променливи на средата“. В този раздел трябва да изберете „Път“. След това "Промяна", ако няма готов, създайте го отново.
  4. В елемента „Промяна на системната променлива“ посочете необходимата стойност и потвърдете с бутона „Ok“. Затворете всички други прозорци, като щракнете върху „Ok“.
  5. Отворете отново командния ред или терминала и опитайте заявката си отново. Сега всичко трябва да работи добре.

Много потребители, когато въвеждат редица команди в конзолата (или в прозорец на помощната програма), една от които е "adb", "javac", "telnet", "fastboot"може да изпита системна грешка при изпълнение на тази команда. И придружаващо съобщение, че посочената команда "не е вътрешна или външна команда, изпълнима програма или команден файл" . Това обикновено се дължи на факта, че пътят до файла, обслужващ тази команда, не е регистриран в системата, а също и защото необходимият компонент просто не е инсталиран в системата. В този материал ще ви кажа каква е грешката „Не е вътрешна или външна команда на изпълнима програма (adb, javac, telnet, fastboot)“, както и как да я поправите.

Същността и причините за дисфункция (adb, javac, telnet, fastboot)

Както споменах по-горе, причината за появата на това съобщение е, че системата не знае местоположението на файловете, които се стартират от тези команди (обикновено файловете имат същите имена като командите, например, командата „fastboot“ е внедрена чрез файла fastboot.exe).

Пътят до желания файл обикновено се посочва в променлива "ПЪТЕКА"системни настройки (трябва да има ясен път до директорията, в която се намират посочените файлове). Ако необходимите пътища не са посочени там, тогава когато въведете някоя от описаните команди, системата отговаря, че (име на файл) не е вътрешна или външна команда на изпълнима програма.

Също така причината за липсата на поддръжка за такива команди (по-специално „telnet“) е липсата на този компонент в системата (трябва да го инсталирате сами).

В системната променлива „Път“ трябва да посочите пътя до директорията, където се намира файлът, който стартираме

Не е вътрешна или външна команда - как да я поправя

За да се отървете от грешката „Не е вътрешна или външна команда“, трябва да посочите на системата пътя (на английски – „path“) до директориите, където се намират необходимите ни файлове.

За да направите това, трябва да знаете точно къде се намират тези файлове (например „javac“ може да се намира в пътя C:\Program Files\Java\jdk 1.8.0.45\bin (вместо „jdk 1.8.0.45“ може да има „jdk“ с друго число). Трябва да копирате посочения път в клипборда (маркирайте го с курсора и след това натиснете клавишната комбинация Ctrl+C).

  1. След това отидете на работния плот на компютъра, задръжте курсора на мишката върху „Моят компютър“, щракнете с десния бутон и изберете „Свойства“ от менюто, което се показва.
  2. В прозореца, който се отваря, щракнете върху „Разширени системни настройки“ вляво и след това върху бутона „Променливи на средата“.
  3. В „Системни променливи“ потърсете параметъра „Път“ и добавете там след точка и запетая пълния път, който сте копирали по-рано от директорията Program Files\Java.
  4. Потвърдете промените, като щракнете върху „Ok“, след това отворете отново конзолата и въведете желаната команда (можете също да рестартирате системата за превенция), грешката може да бъде отстранена.

Алтернатива може да бъде прехвърлянето на неработещи файлове в директории, известни на системата (например в общата основна директория на операционната система Windows или в C:\Windows\System32), обикновено системата работи с тях съвсем правилно.

https://youtu.be/awfBpttu-g4

Също така, в случай на някои компоненти (например „telnet“), възникват проблеми с тях поради липсата им в системата, така че те трябва да бъдат преинсталирани.

  1. В случай на „telnet“ това става, като отидете на „Контролен панел“ - „Програми и функции“ - „Включване или изключване на компоненти на Windows“.
  2. Намерете „Telnet Client“ там, поставете отметка вляво от него и щракнете върху „Ok“.
  3. Програмата ще бъде инсталирана и функционалността „telnet“ трябва да работи правилно.

Заключение

Грешката „Не е вътрешна или външна команда (adb, javac, telnet, fastboot)“ обикновено възниква, защото системата няма информация за местоположението на този файл (последният обикновено се намира в променливата „Path“) или липса на необходим компонент в системата. За да коригирате грешката „не е вътрешна или външна команда“, препоръчвам да посочите пълния път до папката, където се намира файлът в параметъра „Път“, както и допълнително да инсталирате проблемните компоненти в системата (ако са не присъства първоначално). Това ще стабилизира системата и ще коригира грешката „Не е вътрешна или външна команда“ на вашия компютър.