Показать полную графическую версию : [решено] Импорт в реестр параметров, содержащих переменные в значениях
apozlevich
05-01-2012, 15:02
Iska, скорее всего :). Для меня проблема в том, что я так просто hex не подправлю, если что.
apozlevich, я обычно для ручной работы подобного рода пользую Far Manager с плагином «RegEditor» (RegEditor — редактор системного реестра (http://forum.farmanager.com/viewtopic.php?f=11&t=5580)). Последний позволяет не только удобно работать с реестром (в том числе — импортировать, экспортировать разделы), но и работать с reg-файлами, как с реестром (именно плагин «RegEditor», но не плагин «Registry Browser»!).
Например…
На левой панели открыт раздел реестра «HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\CLSID\{450D8FBA-AD25-11D0-98A8-0800361B1103}\DefaultIcon» в плагине «RegEditor»:
╔═ ...LSID\{450D8FBA-AD25-11D0-98A8-0800361B1103}\DefaultIcon ═╗╔═════════════════════ E:\Песочница\0107 ══════╤════════╤═19:55
║и Имя │Размер│ Дата │Время║║и Имя │Размер│ Дата │Время║
║⌂.. │ Вверх│ │ ║║⌂.. │ Вверх│05.01.12│19:55║
║ (Default) │ 70│25.09.10│07:26║║ │ │ │ ║
║ │ │ │ ║║ │ │ │ ║
║ │ │ │ ║║ │ │ │ ║
║ │ │ │ ║║ │ │ │ ║
…
Вид при редактировании параметра «По умолчанию» во встроенном редакторе Far Manager'а:
(Default) 1200 Строка 1/1 Кол 1 37 19:57
%SystemRoot%\SYSTEM32\mydocs.dll,0
…
Редактирование всего раздела во встроенном редакторе Far Manager'а:
DefaultIcon 1200 Строка 1/7 Кол 1 0057h 19:58
Windows·Registry·Editor·Version·5.00¶
¶
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\CLSID\{450D8FBA-AD25-11D0-98A8-0800361B1103}\DefaultIcon]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\¶
··00,5c,00,53,00,59,00,53,00,54,00,45,00,4d,00,33,00,32,00,5c,00,6d,00,79,00,\¶
··64,00,6f,00,63,00,73,00,2e,00,64,00,6c,00,6c,00,2c,00,30,00,00,00¶
…
Пример экспорта раздела «DefaultIcon» на соседнюю, файловую, панель:
╔══════════════════════ Экспорт ключей/значений ══════════════════════╗
║ Экспорт "DefaultIcon" в: ║
║ E:\Песочница\0107\ ↓║
╟───────────────────────────Формат экспорта───────────────────────────╢
║ ( ) файлы REGEDIT4 ║
║ (•) файлы REGEDIT5 (Unicode) ║
║ ( ) Двоичные файлы ("кусты") [ ] Как подключ ║
╟─────────────────────────────────────────────────────────────────────╢
║ { OK } [ Отмена ] ║
╚═════════════════════════════════════════════════════════════════════╝
Внешний вид при редактировании полученного файла реестра в редакторе Far Manager'а:
E:\Песочница\0107\DefaultIcon.reg 1200 Строка 6/7 Кол 1 0020h 19:54
Windows·Registry·Editor·Version·5.00¶
¶
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\CLSID\{450D8FBA-AD25-11D0-98A8-0800361B1103}\DefaultIcon]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\¶
··00,5c,00,53,00,59,00,53,00,54,00,45,00,4d,00,33,00,32,00,5c,00,6d,00,79,00,\¶
··64,00,6f,00,63,00,73,00,2e,00,64,00,6c,00,6c,00,2c,00,30,00,00,00¶
…
И, наконец, главное — файл реестра можно открыть просто на панели:
╔═════════ RegEditor ═════════╗
║ Открыть reg-файл на панели ║
╟─────────────────────────────╢
║ Импортировать в реестр ║
╚═════════════════════════════╝
Левая панель — реальный реестр, правая панель — reg-файл, открытый на панели:
╔═ ...LSID\{450D8FBA-AD25-11D0-98A8-0800361B1103}\DefaultIcon ═╗╔═ ...{450D8FBA-AD25-11D0-98A8-0800361B1103}\DefaultIcon ═20:10
║и Имя │Размер│ Дата │Время║║и Имя │Размер│ Дата │Время║
║⌂.. │ Вверх│ │ ║║⌂.. │ Вверх│05.01.12│19:59║
║ (Default) │ 70│25.09.10│07:26║║ (Default) │ 70│ │ ║
║ │ │ │ ║║ │ │ │ ║
║ │ │ │ ║║ │ │ │ ║
║ │ │ │ ║║ │ │ │ ║
…
И так же прозрачно редактировать REG_EXPAND_SZ параметр, как будто бы он находился в реестре:
(Default) 1200 Строка 1/1 Кол 1 37 20:00
%SystemRoot%\SYSTEM32\mydocs.dll,0
…
apozlevich
05-01-2012, 22:41
Ох.. ниасилил, многабукав. Завтра почитаю. Что-то мне подсказывает, что это будет полезным.
Кстати, знали бы вы, что пришло мне на электронку после такого поста...
Кстати, знали бы вы, что пришло мне на электронку после такого поста... »
Ну, так расскажите, будем знать.
apozlevich
06-01-2012, 01:29
Форум: Автоматическая установка Windows 2000/XP/2003
Тема: [решено] Импорт в реестр параметров, содержащих переменные в значениях (http://forum.oszone.net/newpostinthread-224336.html?hren=121960
Автор: Iska
Текст сообщения:
===>>>-----------------------------------------------
*apozlevich*, я обычно для ручной работы подобного рода пользую Far Manager с плагином «RegEditor». Последний позволяет не только удобно работать с реестром (в том числе — импортировать, экспортировать разделы), но и работать с reg-файлами, как с реестром (именно плагин «RegEditor», но не плагин «Registry Browser»!).
Например…
На левой панели открыт раздел реестра «HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\CLSID\{450D8FBA-AD25-11D0-98A8-0800361B1103}\DefaultIcon» в плагине «RegEditor»:
Code:
---------
╔═ ...LSID\{450D8FBA-AD25-11D0-98A8-0800361B1103}\DefaultIcon ═╗╔═════════════════════ E:\Песочница\0107 ══════╤════════╤═19:55
║и Имя │Размер│ Дата │Время║║и Имя │Размер│ Дата │Время║
║⌂.. │ Вверх│ │ ║║⌂.. │ Вверх│05.01.12│19:55║
║ (Default) │ 70│25.09.10│07:26║║ │ │ │ ║
║ │ │ │ ║║ │ │ │ ║
║ │ │ │ ║║ │ │ │ ║
║ │ │ │ ║║ │ │ │ ║
…
---------
Вид при редактировании параметра «По умолчанию» во встроенном редакторе Far Manager'а:
Code:
---------
(Default) 1200 Строка 1/1 Кол 1 37 19:57
%SystemRoot%\SYSTEM32\mydocs.dll,0
…
---------
Редактирование всего раздела во встроенном редакторе Far Manager'а:
Code:
---------
DefaultIcon 1200 Строка 1/7 Кол 1 0057h 19:58
Windows·Registry·Editor·Version·5.00¶
¶
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\CLSID\{450D8FBA-AD25-11D0-98A8-0800361B1103}\DefaultIcon]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\¶
··00,5c,00,53,00,59,00,53,00,54,00,45,00,4d,00,33,00,32,00,5c,00,6d,00,79,00,\¶
··64,00,6f,00,63,00,73,00,2e,00,64,00,6c,00,6c,00,2c,00,30,00,00,00¶
…
---------
Пример экспорта раздела «DefaultIcon» на соседнюю, файловую, панель:
Code:
---------
╔══════════════════════ Экспорт ключей/значений ══════════════════════╗
║ Экспорт "DefaultIcon" в: ║
║ E:\Песочница\0107\ ↓║
╟───────────────────────────Формат экспорта───────────────────────────╢
║ ( ) файлы REGEDIT4 ║
║ (•) файлы REGEDIT5 (Unicode) ║
║ ( ) Двоичные файлы ("кусты") [ ] Как подключ ║
╟─────────────────────────────────────────────────────────────────────╢
║ { OK } [ Отмена ] ║
╚═════════════════════════════════════════════════════════════════════╝
---------
Внешний вид при редактировании полученного файла реестра в редакторе Far Manager'а:
Code:
---------
E:\Песочница\0107\DefaultIcon.reg 1200 Строка 6/7 Кол 1 0020h 19:54
Windows·Registry·Editor·Version·5.00¶
¶
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\CLSID\{450D8FBA-AD25-11D0-98A8-0800361B1103}\DefaultIcon]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\¶
··00,5c,00,53,00,59,00,53,00,54,00,45,00,4d,00,33,00,32,00,5c,00,6d,00,79,00,\¶
··64,00,6f,00,63,00,73,00,2e,00,64,00,6c,00,6c,00,2c,00,30,00,00,00¶
…
---------
И, наконец, главное — файл реестра *можно открыть просто на панели*:
Code:
---------
╔═════════ RegEditor ═════════╗
║ Открыть reg-файл на панели ║
╟─────────────────────────────╢
║ Импортировать в реестр ║
╚═════════════════════════════╝
---------
и так же прозрачно редактировать REG_EXPAND_SZ параметр, как будто бы он находился в реестре:
Code:
---------
(Default) 1200 Строка 1/1 Кол 1 37 20:00
%SystemRoot%\SYSTEM32\mydocs.dll,0
…
---------
Только все рамочки не символами а их кодом.. Хм.. Как это правильно называется... В общем, если вам так интересно, могу запостить скриншот. Но все же, это оффтопик.
apozlevich,
это не шаблон и не надо туда ничего подставлять. »
А что же с ним тогда делать, я вобще не понял как его юзать.
Vadikan,
Задача-автоматизировано конвертнуть ряд ключей, содержащих пути.
apozlevich,
А писать конвертер я больше не вижу смысла, так как действительно проще сделать импорт значений REG_EXPAND_SZ дополнительным скриптом. »
Если таких ключей 50/100, обрабатывать каждый ключ индивидуально, я считаю совсем не проще.
apozlevich
06-01-2012, 13:06
Wu-Tang, да забудь про этот скрипт, он не панацея и работает только в одном случае из ста. Тем более, это просто команды Petya V4sechkin, объединенные в одну. Забей.
Если таких ключей 50/100, обрабатывать каждый ключ индивидуально, я считаю совсем не проще. »
Обрабатывать все равно придется. Самый простой вариант - изучить команду REG ADD и сделать скрипт, который вызывать после импорта .reg-файла. Тогда импорт .reg-файла будет производится такой командой: regedit /s tweak.reg && call tweak.cmd » (Все что стоит до "&&" это импорт .reg-файла, а все, что стоит после - запуск скрипта.) Просто создай текстовый файл, переименуй его в tweak.cmd, напиши первую строчку @echo off И дальше reg add <ветвь реестра> /v <имя значения> /t REG_EXPAND_SZ /d <значение> /f
Ветвь реестра - это, как тебе уже, наверное, известно, что-то типа "HKLM\Software\Microsoft\Windows\".
В "Значении" тебе надо указать путь, используя переменную среды (про них рассказывается здесь (http://www.oszone.net/3673), там же есть насчет импорта значений реестра таким способом).
Если тебе нужно импортировать "Значение по умолчанию", что, по моему опыту, бывает редко, тебе нужно использовать код reg add <ветвь реестра> /ve /t REG_EXPAND_SZ /d <значение> /f
apozlevich,
У меня насчет ключей остался вопрос открытым - http://forum.oszone.net/post-1828640-16.html я его здесь задавал Petya V4sechkin
Код:
reg add <ветвь реестра> /v <имя значения> /t REG_EXPAND_SZ /d <значение> /f »
Те сначала обработать таким образом каждый ключ, затем использовать скрипт?
Ты не мог бы пример привести, чтоб мне наглядно было понятно, вот, например, ключи:
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\File_Verification_Database\DefaultIcon]
@="C:\\Program Files\\QuickSFV\\QuickSFV.EXE,0"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\File_Verification_Database\Shell\open\command]
@="C:\\Program Files\\QuickSFV\\QuickSFV.EXE \"%1\""
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Applications\QuickSFV.EXE\shell\open\command]
@="C:\\Program Files\\QuickSFV\\QuickSFV.EXE \\\"%1\\\""
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Applications\QuickSFV.EXE\shell\verify_all\command]
@="C:\\Program Files\\QuickSFV\\QuickSFV.EXE DOALL \\\"%1\\\""
[HKEY_CLASSES_ROOT\CLSID\{906b0e6e-61ce-11d3-8ee2-0060080a7242}\InProcServer32]
@="C:\\Program Files\\QuickSFV\\QSFVShll.dll"
"ThreadingModel"="Apartment"
Как будет должно забито в рег файле и как в скрипте.
Заранее спасибо.
apozlevich
07-01-2012, 13:35
У меня насчет ключей остался вопрос открытым - http://forum.oszone.net/post-1828640-16.html я его здесь задавал Petya V4sechkin »
Значение «По умолчанию» рассматривается как особый случай и задаётся отдельным параметром для «reg.exe».
Во втором же примере задаётся значение обычного именованного параметра. »
Как будет должно забито в рег файле и как в скрипте. »
Может, "как должен быть забит рег файл в скрипт"?@echo off
reg add "HKLM\SOFTWARE\Classes\File_Verification_Database\DefaultIcon" /ve /t REG_EXPAND_SZ /d "%ProgramFiles%\QuickSFV\QuickSFV.EXE,0" /f
reg add "HKLM\SOFTWARE\Classes\File_Verification_Database\Shell\open\command" /ve /t REG_EXPAND_SZ /d "%ProgramFiles%\QuickSFV\QuickSFV.EXE ^%1" /f
reg add "HKLM\SOFTWARE\Classes\Applications\QuickSFV.EXE\shell\open\command" /ve /t REG_EXPAND_SZ /d "%ProgramFiles%\QuickSFV\QuickSFV.EXE \^%1\" /f
reg add "HKLM\SOFTWARE\Classes\Applications\QuickSFV.EXE\shell\verify_all\command" /ve /t REG_EXPAND_SZ /d "%ProgramFiles%\QuickSFV\QuickSFV.EXE DOALL \^%1\" /f
reg add "HKCR\CLSID\{906b0e6e-61ce-11d3-8ee2-0060080a7242}\InProcServer32" /ve /t REG_EXPAND_SZ /d "%ProgramFiles%\QuickSFV\QSFVShll.dll" /f
reg add "HKCR\CLSID\{906b0e6e-61ce-11d3-8ee2-0060080a7242}\InProcServer32" /v "ThreadingModel" /t REG_EXPAND_SZ /d "Apartment" /f
apozlevich,
Я всеже понять не могу когда использовать /ve, а когда /v?
apozlevich
08-01-2012, 13:23
/ve используется при "параметрах по умолчанию",
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\File_Verification_Database\DefaultIcon]
@="C:\\Program Files\\QuickSFV\\QuickSFV.EXE,0"
apozlevich
08-01-2012, 15:12
Хм... Сейчас копаюсь в одном файле твиков одного хорошего форумчанина, такие строки[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"InstallTheme"="%WinDir%\\Resources\\Themes\\OpusOS.Theme"
"InstallVisualStyle"="%WinDir%\\Resources\\Themes\\OpusOS\\OpusOS.msstyles"ведь будут работать?
apozlevich,
Вроде бы такой вариант не будет срабатывать.
apozlevich
08-01-2012, 19:58
А если это написал simplix? Он конечно не Чак Норрис, но вроде знает, что пишет.
apozlevich,
В любом случае лучше протестить самостоятельно...
apozlevich,
Ты не пробовал еще пока?
apozlevich
10-01-2012, 09:36
Нет, еще не на чем, но сегодня я узнаю точно (WinXP Simplix Edition стоит в театре, где я техник. Во-первых убью того, кто его там поставил, а во-вторых, спрошу, работало ли это.)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC