Показать полную графическую версию : [решено] Включение/отключение устройств одним .bat файлом
лучше сделать проще »
чем решение в одну строку на cmd?
решение поставленной задачи в рамках devcon »
какие рамки вас смущают? Начнем с того что с devcon вы работаете в рамках cmd и задачу я решил тоже в этих же рамках cmd - так в чем проблема?
Цитата alpap:
чем решение в одну строку на cmd? »
Тем, что работает. А "решение в одну строку на cmd" - нет. Только этим ;). Вот, что выдаётся:No matching devices found.
Для продолжения нажмите любую клавишу . . .Кстати, 'pause' можно убрать - я запускаю все подобные вещи через FAR; ошибки мне прекрасно видны...
Цитата alpap:
какие рамки вас смущают? Начнем с того что с devcon вы работаете в рамках cmd и задачу я решил тоже в этих же рамках cmd - так в чем проблема? »
на машине с несколькими сетевками с однотипным чипсетом DEVCON у меня выключал все сетевки, хотя просили только одну - такие вот спецэффекты...
Ссылку я уже выше приводил...
Нет, если получится (с DEVCON) я не возражаю - боже упаси! Просто мне кажется, CNIC - не случайно возник ;). Такая вот рифма.
VasyaOK, какой вывод этого?
@echo off
for /f "delims=:" %%a in ('devcon.exe find "PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458&REV_02"^|find /v "matching"') do (
echo "%%a"
)
pause
alpap,
"PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458&REV_02\4&2E680ECD&0&00E5"
"PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458&REV_02\4&525529E&0&00E4"
значит так выводит нужную строку, так?
@echo off
for /f "delims=:" %%a in ('devcon.exe find "PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458&REV_02"^|find /v "matching"') do (
<nul set /p="%%a"|>nul findstr /e "E4" && echo "%%a"
)
pause
alpap,
"PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458&REV_02\4&525529E&0&00E4"
А мне нужно отключать
"PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458&REV_02\4&2E680ECD&0&00E5"
VasyaOK,
ну поменяйте E4 на E5, но "PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458&REV_02\4&2E680ECD&0&00E5" это именно ID? Иначе отключит только по "PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458&REV_02", а сюда обе строки попадают.
VasyaOK, даже не знаю, что посоветовать.
У меня, кстати, точно так же. Пока я задаю в команде «devcon.exe find» только Hardware ID — ищет и находит:
https://i.imgur.com/6KCREjm.png
Как только я пытаюсь добавить к Hardware ID ещё и Instance ID конкретного устройства:
…
PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458&REV_0C\4&1DCB0711&0&00E2
Name: Realtek PCIe GBE Family Controller
Hardware IDs:
PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458&REV_0C
PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458
PCI\VEN_10EC&DEV_8168&CC_020000
PCI\VEN_10EC&DEV_8168&CC_0200
Compatible IDs:
PCI\VEN_10EC&DEV_8168&REV_0C
PCI\VEN_10EC&DEV_8168
PCI\VEN_10EC&CC_020000
PCI\VEN_10EC&CC_0200
PCI\VEN_10EC
PCI\CC_020000
PCI\CC_0200
…
— увы и ах:
https://i.imgur.com/vasp5tD.png
В связи с чем возникает вопрос — а умеет ли работать DevCon с Instance ID в принципе? Либо это я что-то не так делаю?
ну поменяйте E4 на E5 »
Не очень понял, чего менять...
но "PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458&REV_02\4&2E680ECD&0&00E5" это именно ID? »
Ну, конечно - их всего 2-е строки.
Так как будет выглядеть команда на отключение?
Iska,
Повторюсь: http://www.nncron.ru/forums/viewtopic.php?p=17887&sid=b705da0b47ed365f78394b028d571dc1#p17887
VasyaOK, проверил ваш cnic, да, так отключает (по имени):
cnic.exe "Имя адаптера (сетевого подключения)" -d
VasyaOK, проверил ваш cnic, да, так отключает (по имени) »
Он не мой, а M$ ;) И чего бы ему не работать - его специально для этого сделали. Видать, когда с DEVCON прокололись.
А мне бы, в сою очередь, хотелось бы проверить ваш cmd ;)
Если это возможно, конечно.
вот как будет работать вариант с отключением по номеру с помощью cnic
@echo off
for /f "tokens=1,2* delims=- " %%a in ('cnic.exe -l^|find "-"') do echo %%a [%%b] [%%c]
:: Например по номеру
:: cnic.exe n:0 -d
pause
и да, в имени сетевого подключения не должно быть пробелов иначе вывод информации будет неправильный (но cnic.exe n:НОМЕР -d отработает правильно).
если есть пробелы в имени сетевого подключения, то просто посмотреть или еще как использовать имя подключения и имя адаптера можно так
@echo off
for /f "tokens=1* delims=- " %%A in ('cnic.exe -l^|find "-"') do for /f "tokens=1* delims=- " %%a in ("%%B") do echo %%A [%%a] [%%b]
pause
А мне бы, в сою очередь, хотелось бы проверить ваш cmd »
я же написал - отключит только по Hardware ID, а у вас там две строки, т.е. вероятнее всего вырубит и E4 и E5
VasyaOK, насколько я понимаю, cnic.exe работает как работало отключение/подключение сетевого соединения в Windows XP, а devcon.exe работает как отключение/подключение в Windows 7, где «отключение» вызывает отключение не соединения, а самого устройства. Если Вам на самом деле нужно отключение/подключение сетевого соединения, а не устройства, то, разумеется, пользуйте cnic.exe (например, «засунув» его вызов в User Menu Far Manager'а).
Он не мой, а M$ И чего бы ему не работать - его специально для этого сделали. Видать, когда с DEVCON прокололись. »
Если мне не изменяет память, cnic.exe — куда более старая утилита, нежели DevCon.
Если Вам на самом деле нужно отключение/подключение сетевого соединения, а не устройства, то, разумеется, пользуйте cnic.exe (например, «засунув» его вызов в User Menu Far Manager'а). »
Да мне, на самом деле, "до без разу" - работает, да и ладно ;).
Если мне не изменяет память, cnic.exe — куда более старая утилита, нежели DevCon. »
Может быть - не спорю. У них там косяк на косяке ;)
вот как будет работать вариант с отключением по номеру с помощью cnic »
Я имел ввиду вариант с DEVCON - то, что с помощью cnic работает без проблем - давно известно. Просто вариант на предыдущей странице, конкретно вот этот:
http://forum.oszone.net/post-2865970-25.html
выводит одну строку, правда не ту. У меня тогда возможности не было проверить, показалось что "решение близко". Сейчас вот проверил: ну да, замена "Е4" на "Е5" выводит нужную строку. Только толку-то от этого? Насколько я понимаю, проблему отключения именно Е5 это не решает, а значит, DEVCON - это НЕРАБОЧЕЕ РЕШЕНИЕ. На этом и закончим, пожалуй. Если, конечно у вас нет вариантов именно с DEVCON.
Только толку-то от этого? »
совершенно верно.
нет вариантов именно с DEVCON »
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.