При спробі відкрити будь-яку команду через вікно службової програми або консоль, ви стикаєтеся з помилкою – «Ім'я файлу» не є внутрішньою чи зовнішньою командою, яку виконує програма або пакетний файл. Система вперто не відкриває файл з якихось причин і це дуже дратує. Причиною цього може бути один із кількох варіантів: неправильно вказано шлях до файлу та відсутність компонента в системі взагалі, тобто за вказаною адресою його не існує.
Основні причини, через які з'являється помилка «не є внутрішньою чи зовнішньою командою»
Як вже було сказано, одна з причин полягає в неправильній вказівці шляху до файлу, що відкривається. Зазвичай шлях до файлу прописаний у змінній «Path» у системі, має бути вказаний суворий шлях до директорії, в якому розміщено потрібні файли. Якщо є якісь помилки в налаштуваннях при вказівці шляху до змінної, або при вказівці імені файлу, то система видаватиме саме таку помилку – «ім'я файлу» не є внутрішньою чи зовнішньою командою, яку виконує програма.
Насамперед необхідно вказати точний шлях змінної "Path" операційній системі, щоб не виникало помилок при відкритті файлу. Для цього потрібно напевно знати розташування папки. Наприклад, звернемося до програми, яка надалі працюватиме з виконуваним файлом у певній папці.
Змінна "Path" - це змінна операційної системи, яка служить для того, щоб знайти зазначені об'єкти, що виконуються через командний рядок або термінал. Знайти її можна на панелі управління Windows. У нових версіях Віндовста інших ОС вказівку вручну зазвичай не потрібно.
![](https://i1.wp.com/lifehacki.ru/wp-content/uploads/2017/10/3-3.jpg)
Вказуємо правильний шлях у змінній path на Windows 7
Щоб правильно вказати шлях, необхідно знати точне розташування файлу. Якщо файл програми, який потрібно відкрити, лежить на диску в С: Program Files Java jdk 1.8.0.45, тоді цей шлях потрібно скопіювати і вказати в системній змінній для подальшого відкриття.
![](https://i1.wp.com/lifehacki.ru/wp-content/uploads/2017/10/4-3.jpg)
Якщо помилка буде з'являтися знову, спробуйте перенести програму в робочі директорії диска зі встановленою операційною системою, наприклад, /System32. З цією директорією Віндовс працює частіше.
Також помилки виникають через відсутність компонентів програми. Усунути їх можна, доповнивши потрібними. Наприклад візьмемо компонент «Telnet». Щоб його увімкнути, перейдіть до:
![](https://i2.wp.com/lifehacki.ru/wp-content/uploads/2017/10/2-2.png)
Задати змінну "Path" в ОС Windows 8/8.1/10
- Заходимо на "Панель управління".
- Клацаємо посилання « Додаткові параметрисистеми».
- Знаходимо «Змінні середовища». У цьому розділі потрібно вибрати "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 following resources reserved:
ACPI\PNP0200\4&35F762C4&0
Name: Device has following resources reserved:
ACPI\PNP0303\4&35F762C4&0
Name: Device currently using the following resources:
Name: Device currently using the following resources:
ACPI\PNP0700\4&35F762C4&0
Name: Device 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
Назви: 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 для Windows 10, version 1804(EWDK). Перевірено на серверних ОС Windows та 32-х та 64-розрядних ОС Windows 7-10.
Повернемося до вирішення мого завдання. Щоб відобразити всі наявні в системі мережні пристрої, необхідно ввести наступне:
C:\>devcon.exe find =net
Програма відобразила 7 пристроїв! У мене на сервері всього 2 мережеві карти Intel® PRO/1000 EB Network Connection. Але тут я згадав, що диспетчер пристроїв не відображає приховані пристрої. Щоб їх побачити, необхідно у вікні диспетчера пристроїв вибрати в меню "Вид" -> "Показати приховані пристрої". Тепер все гаразд! :)
Для того, щоб відключити всі показані мережеві пристрої, необхідно дати наступну команду (краще не робити цього віддалено!):
C:\>devcon.exe disable =net
Диспетчер пристроїв чесно покаже, що всі мережеві пристрої відключені. Мережа повністю відключена, що нам і потрібно.
Щоб увімкнути мережні пристрої, необхідно дати команду:
C:\>devcon.exe enable =net
Проконтролюємо увімкнення всіх мережних пристроїв у диспетчері пристроїв.
Нам залишилося написати два командних файлуіз зазначеними вище командами включення та відключення мережевих пристроїв та зробити на основі них завдання, щоб вони виконувались у необхідний час.
Мені залишилося тільки нагадати, оскільки за допомогою програми DevCon ви можете вимкнути практично будь-який пристрій свого комп'ютера, користуватися ним треба дуже обережно! Не відключайте пристрої по масці, не відключайте невідомі вам пристрої, ви можете домогтися повної непрацездатності своєї операційної системи.