PDA

Показать полную графическую версию : Реестр - Как сделать снимок раздела, исключая определенные подразделы?


Mersim
20-02-2015, 19:45
Собсно, сабж...

Mersim
21-02-2015, 07:25
Малость конкретизирую. Хотелось бы некую утилиту, которая работала бы со списком исключений. По типу архиватора, какгбэ - вот эту папку, без этой и той подпапки...

Щаз получается, что надо:
- сохранить весь раздел
- подгрузить его во временный раздел
- экспортировать ненужные подразделы (так-то они нужны, но отдельно)
- удалить их
- экспортировать оставшееся
- поправить (я преполагаю) имена в получившихся reg-файлах

Вобщем, простым батником и штатными утилитами не обойтись. Может я что-то недочитал в манах по reg и regedit... :((
.

Mersim
22-02-2015, 13:13
Суперактивная поддержка зала вынудила напрячь таки собственный мозг. Оно и к лучшему...
Батник не выкладываю, чтобы не позориться, а алгоритм таков:

1. Создаем список подразделов-исключений.
2. reg query нужный_раздел - генерируем общий список всех подразделов
3. For In Do - пробегаем по этому списку
3.1 Сравниваем со списком исключений и, по результату,..
3.2 ,.. назначаем суффикс sfx, определяющий, в какой reg-файл будет добавлена иноформация.
3.3 regedit /ea (мне нужен REGEDIT4) - выплевываем во временный reg-файл
3.4 type tmp.reg >> save_sfx.reg - Добавляем его его в соответствующий итоговый файл

Последний пункт проверен лишь на REGEDIT4 - повторные вхождения (по числу разделов, присутствующих в данном списке исключений) этого заголовка далее в теле файла при импорте игнорируются и не влияют на работоспособность.

Потом все это хозяйство усложняем, чтобы можно было создать несколько списков исключений и работать с ними. В моем случае - два.

В итоге получаем набор reg-файлов, содержащих соответствующих каждому списку исключений плюс один файл со всеми остальными разделами, не попавшими в исключения. В моем случае это - программный кеш, пользовательские данные и статические настройки программы, соответственно.

Для чего это все нужно? Чтобы иметь возможность легко сравнить разные версии настроек и залить необходимую конфигурацию не задевая динамических пользовательских данных и кеша.

Почему так сложно? Просто потому, что изначально многие программы не пишут дефолтные значения в реестр. Они там появляются лишь со временем, по мере изменения их, и полный список ключей, с которыми придется столкнуться чаще всего неизвестен.

Всем спасибо.
.

Vadikan
22-02-2015, 14:49
regshot
фильтровать можно потом хоть в экселе

Mersim
22-02-2015, 21:05
Vadikan,

Меня терзают смутные сомнения по обоим пунктам.

RegShot - какой имеешь ввиду? Если первый, оригинальный, - так это сдохший было проект, который, к моему удивлению, ожил, но не надолго :) Последний релиз 13-го года. Косяков за ним было предостаточно, исследовать на предмет новых нет желания. Если второй, этого наглого горе-инвалида, то в нем тоже было много вопросительных знаков. Фтопку. Принимая во внимание неадекватность аффтара, его общую негативную карму и соответствующее ей реноме.

По памяти - оба из строки не работают и придется давить батоны, вместо единственного батника, использующего встроенные утилиты оси.

А если уж хочется действительно исследовать изменения в реестре - рекомендую элекомсофтовский ART (Advanced Registry Tracker). Проект, правда, тоже заморожен, но в свое время я очень активно его юзал. Лечится. Правда отслеживает тольео реестр, в отличие от конкурентов выше. Но с реестром пашет на 5. Вестч.

А сравнивать в Excel - Это вы погорячились... нельзя так с переводчиками офисным софтом обращаться. Если есть нормальные рег-файлы, то WinMerge или подобные - полный вперед. Ексель же совершенно по-дурному запоминает последние настройки разбора данных по столбцам. Бороться с этим невозможно и противно, особенно, если принять во внимание разнообразие форматов информации, представленной в значениях параметров.
.




© OSzone.net 2001-2012