Показать полную графическую версию : [решено] Найти в реестре параметр и записать в переменную имя ветки в которой он находится
Здравствуйте,
Нужно найти в этой ветке hklm\system\currentcontrolset\control\class\{4D36E972-E325-11CE-BFC1-08002bE10318} значение ключа, которое будет называться "VLanAdapter" и после того как наидено это значение, нужно записать имя куста в котором оно наидено, в переменную %RegCust%
root221, что Вы подразумеваете под «именем куста»?
root221, что Вы подразумеваете под «именем куста»? »
ну там есть имя ветки, наверно так будет правельнее
001
002
003 и.т.д
вот в одной из них если найдётся параметр с ключём "VLanAdapter", то имя ветки в которой скрипт найдёт параметр с ключём "VLanAdapter", надо записать в переменную %RegCust%
Iska, надеюсь что вы не просто так вопрос задали, а хотите мне помочь )
Foreigner
22-11-2012, 23:35
root221,
Без проверки на ошибки, т.е. подразумевается, что свойство "VLanAdapter" есть в одном из параметров:
@echo off
setlocal
set "regpath=hklm\system\currentcontrolset\control\class\{4D36E972-E325-11CE-BFC1-08002bE10318}"
for /f "tokens=*" %%i in (' reg query "%regpath%" /v "VLanAdapter" /s ') do call:set "%%i"
echo %regcust%
:set
if not defined regcust set "regcust=%~1"
Foreigner, странно, ставлю паузу после echo %regcust% и в консоль вываливается сообщение, Ошибка: Слишком много параметров в командной строке.
Foreigner
23-11-2012, 00:15
root221, забыл goto:eof или exit /b после echo %regcust%
Ошибка: Слишком много параметров в командной строке.
Странно. У меня такой ошибки нет.
root221, что Вы подразумеваете под «именем куста»? »
Вы для чего интересовались ? для себя? или вы что-то вы не поняли и хотели уточнить для того что-бы помочь мне?
root221, забыл goto:eof или exit /b после echo %regcust%
Цитата:
Ошибка: Слишком много параметров в командной строке.
Странно. У меня такой ошибки нет. »
Наверно из-за Семерки, у меня просто XP
нужно записать имя куста в котором оно наидено, »
root221, что Вы подразумеваете под «именем куста»? »
ну там есть имя ветки, наверно так будет правельнее »
Правильно будет — «раздел»: Основы работы с реестром Windows: Терминология (http://www.oszone.net/6176#term).
Вы для чего интересовались ? для себя? или вы что-то вы не поняли и хотели уточнить для того что-бы помочь мне? »
Возможность помощи обусловлена пониманием. Понимание настоятельно требует одинакового употребления и восприятия информации (в первую очередь — терминов). Пока мы не прояснили, что Вы понимаете под «именем куста» — сама возможность выхода полезной информации от меня к Вам была равна нулю.
PowerShell:
$sPath = "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002Be10318}"
Get-ItemProperty -Path "Registry::$sPath\*" | `
Where-Object -FilterScript {$_.VLanAdapter} | `
Select-Object -Property @{Name="SubKey"; Expression = {($_.PSPath).Replace("Microsoft.PowerShell.Core\Registry::", "")}}, VLanAdapter | `
Format-Table -AutoSize
Iska, Я вас понял, вы в большей степени специальзируетесь в PowerShell, к сожалению решения на PowerShell мне не подходит и всеравно я вам благодарен за участие и попытке помочь моей проблеме.
А вобще мне надо было, что бы CMD скрипт работал примерно так-же как macshift, т.е. по имени адаптера которое у меня будет находится в переменной, находил нужную ветку в реестре, которая относится к адаптеру с этим именем которое будет в переменной и изменял MAC Адрес тому устройству у которого будет имя из переменной т.е. просто добавлял ключ Macaddress с со значением которое тоже будет в переменной ну и потом с помощью другой утилитым DevCon которая у меня так-же имеется, перезапускал сетевое устройство и изменял на устройстве мак адрес которое например, с именем "VLanAdapter" .
Как-то так.
Iska, Я вас понял, вы в большей степени специальзируетесь в PowerShell, »
Увы. Неспешно учусь (предыдущий пост как раз и есть — обучение) ему эдак пятый год, не меньше. У меня всё никак не возникнет настоятельной потребности к его изучению по причине отсутствия надобности.
к сожалению решения на PowerShell мне не подходит »
Отчего так? Что мешает?
Отчего так? Что мешает? »
Да ничего не мешает, просто не хочу я, внедряться в него.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.