Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] как извлечь все значения определенного ключа реестра из определенной ветки

Ответить
Настройки темы
CMD/BAT - [решено] как извлечь все значения определенного ключа реестра из определенной ветки

Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Всем привет. Помогите создать BAT- фаил (или CMD). Задача такая: есть ветка реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall . В ее разделах храниться информация о установленных программах. В апплете appwiz.cpl отображается параметр ключа DisplayName.
Так вот, хочется из вышеуказанной ветки реестра извлечь в блокнот все значения параметра DisplayName.

Отправлено: 12:34, 26-12-2011

 

Аватара для El Sanchez

Ветеран


Contributor


Сообщения: 1264
Благодарности: 1024

Профиль | Отправить PM | Цитировать


baza450,
Код: Выделить весь код
@Echo Off
Del /F /Q "%~dp0_Uninstall.log" 2>nul
For /F "Tokens=*" %%A In ('Reg Query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /s^|Find /i "HKEY_"') Do (
	For /F "Tokens=2*" %%B In ('Reg Query "%%A" /v DisplayName 2^>nul^|Find /i "REG_SZ"') Do Echo:%%C>>"%~dp0_Uninstall.log"
)
Notepad "%~dp0_Uninstall.log"
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:35, 26-12-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо) только увидел.... сейчас попробую...

Отправлено: 19:43, 26-12-2011 | #3


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


жесть) работает! Только русские шрифты корявенько отображаются, но это не упирается)

я тут немного добавил....это для х64 систем
Код: Выделить весь код
@Echo Off
Del /F /Q "%~dp0_Uninstall.log" 2>nul
For /F "Tokens=*" %%A In ('Reg Query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /s^|Find /i "HKEY_"') Do (
	For /F "Tokens=2*" %%B In ('Reg Query "%%A" /v DisplayName 2^>nul^|Find /i "REG_SZ"') Do Echo:%%C>>"%~dp0_Uninstall.log"
)
Notepad "%~dp0_Uninstall.log"
Del /F /Q "%~dp0_Uninstall.log" 2>nul
For /F "Tokens=*" %%A In ('Reg Query "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall" /s^|Find /i "HKEY_"') Do (
	For /F "Tokens=2*" %%B In ('Reg Query "%%A" /v DisplayName 2^>nul^|Find /i "REG_SZ"') Do Echo:%%C>>"%~dp0_Uninstall.log"
)
Notepad "%~dp0_Uninstall.log"
Вроде работает, вот только после завершения log сам открывается. Как сделать чтобы не открывался сам и сохранялся в нужную папку?
Заранее извиняюсь за "не грамотность" ... только недавно начал скриптами интересоваться...

Отправлено: 20:05, 26-12-2011 | #4


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


кстати, тоже самое по сети возможно? к примеру, чтобы собрать такую инфу по всем компам сети?

Отправлено: 20:29, 26-12-2011 | #5


Аватара для El Sanchez

Ветеран


Contributor


Сообщения: 1264
Благодарности: 1024

Профиль | Отправить PM | Цитировать


Цитата baza450:
Только русские шрифты корявенько отображаются »
baza450, мильпардон, после @Echo Off следующей строкой допишите CHCP 1251 1>nul, в самом конце CHCP 866 1>nul

Цитата baza450:
вот только после завершения log сам открывается »
baza450, дык, по заданию требовалось в Блокнот все передать. Если не надо, то строку Notepad "%~dp0_Uninstall.log" удалите.

Цитата baza450:
Как сделать чтобы не открывался сам и сохранялся в нужную папку? »
baza450, в примере сохраняется рядом с батником в файл _Uninstall.log. Если надо в другое место, то вместо Echo:%%C>>"%~dp0_Uninstall.log" пишете, к примеру, Echo:%%C>>"C:\Temp\blablabla.log"

Цитата baza450:
кстати, тоже самое по сети возможно? к примеру, чтобы собрать такую инфу по всем компам сети? »
baza450, читайте синтаксис Reg Query /?

Отправлено: 21:37, 26-12-2011 | #6


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо!!!

Отправлено: 13:41, 27-12-2011 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] как извлечь все значения определенного ключа реестра из определенной ветки

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - [решено] Как из архивного образа системы извлечь нужные данные реестра? ZurabK Microsoft Windows Vista 5 10-09-2020 12:08
CMD/BAT - Как узнать значение ключа реестра на удаленном компе по ip ? Ingolder Скриптовые языки администрирования Windows 4 12-09-2010 18:02
[решено] Как получить имя ветки реестра? garanov AutoIt 11 18-12-2009 12:25
Доступ - [решено] Как дать пользователю доступ на чтение/запись ветки реестра в Win 200 Pro? mnv-uanic Microsoft Windows 2000/XP 4 02-06-2009 11:59
Доступ - Авто экспорт значения ключа из реестра Billy Bones Microsoft Windows 2000/XP 3 26-07-2007 11:50




 
Переход