|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] Скрипт по изменению реестра |
|
Любой язык - [решено] Скрипт по изменению реестра
|
Новый участник Сообщения: 19 |
Профиль | Отправить PM | Цитировать Здравствуйте.
Может кто-нибудь подсказать реализацию такого а/р на любом языке: 1) Задаём "переменную для поиска" и переменную для замены (можно правкой вручную, можно с окном запроса); 2) Ищем переменную для поиска в реестре; 3) Заменяем найденную переменную на "переменную для замены"; Заранее благодарен за любую помощь. |
|
Отправлено: 07:59, 04-08-2011 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать - предположу, что под "переменной" понимается "параметр" реестра, так?
- и всё-таки: заменяем переменную (через удаление) или только её значение? - кроме имени нужно обязательно знать тип параметра, например строка: REG_SZ |
Отправлено: 11:44, 04-08-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1754
|
Цитата T3D:
Цитата:
|
||
Отправлено: 12:10, 04-08-2011 | #3 |
Новый участник Сообщения: 19
|
Профиль | Отправить PM | Цитировать Цитата amel27:
Цитата amel27:
Цитата Foreigner:
|
|||
Отправлено: 05:48, 05-08-2011 | #4 |
Ветеран Сообщения: 1754
|
Цитата T3D:
|
||
Отправлено: 08:21, 05-08-2011 | #5 |
Старожил Сообщения: 175
|
Профиль | Отправить PM | Цитировать Для строковых значений. Как заготовка.
' Для совпадающих строке поиска значений (REG_SZ) Option Explicit Dim SectionName Dim tmpRegFile Dim FindValue Dim AddValue Dim objWSS Dim objFSO Dim RegFile Dim CurrSection Dim GetLine Dim KeyName Dim strPrompt Dim ReturnValue SectionName = "HKEY_CURRENT_USER\Software" tmpRegFile = "z:\tmp.reg" FindValue = "Строка поиска" AddValue = "Строка замены" Set objWSS = CreateObject("WScript.Shell") Set objFSO = CreateObject("Scripting.FileSystemObject") objWSS.Run "regedit /e " & tmpRegFile & " """ & SectionName & """", 2, True Set RegFile = objFSO.OpenTextFile(tmpRegFile, 1, True, -1) Do While RegFile.AtEndOfStream <> True GetLine = RegFile.ReadLine If Left(GetLine, 6) = "[HKEY_" Then CurrSection = Mid(GetLine, 2, Len(GetLine) - 2) Else If InStr(GetLine, FindValue) Then strPrompt = "Вы желаете заменить значение ключа " & GetLine & vbNewLine & _ "в разделе " & CurrSection & vbNewLine & _ "на значение """ & AddValue & """?" ReturnValue = MsgBox(strPrompt, 35, "Замена в реестре") If ReturnValue = 6 Then KeyName = Replace(Split(GetLine, "=")(0), """", "") If KeyName = "@" Then KeyName = "" objWSS.RegWrite CurrSection & "\" & KeyName, AddValue, "REG_SZ" ElseIf ReturnValue = 2 Then Exit Do End If End If End If Loop RegFile.Close 'Следующая строка закомментирована для возможности отката изменений 'objFSO.DeleteFile tmpRegFile Set objWSS = Nothing Set objFSO = Nothing MsgBox "Скрипт завершил работу" WScript.Quit |
Последний раз редактировалось SendMessage, 06-08-2011 в 03:51. Причина: Переработка скрипта Отправлено: 13:15, 05-08-2011 | #6 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Не работает скрипт удаления из реестра | Nun-Nun | Скриптовые языки администрирования Windows | 2 | 03-01-2011 12:57 | |
Вопросы о создании автоматической установки и изменению дистрибутива. | ale321 | Автоматическая установка Windows 2000/XP/2003 | 3 | 09-10-2010 11:01 | |
Вопрос по изменению сборки Windows XP | Manuka1973 | Хочу все знать | 2 | 08-09-2008 08:20 | |
Доступ - [решено] Нет доступа к изменению настроек системы | Astena | Microsoft Windows 2000/XP | 10 | 05-07-2008 09:21 | |
Ограничение доступа к изменению времени | nod201 | Автоматическая установка Windows 2000/XP/2003 | 15 | 29-01-2007 23:20 |
|