Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Gigi

87K
25 декабря 2012 года
Gigi
2 / / 24.12.2012
Народ!
У Меня такой вопрос!
Касается он вопроса данных реестра OC Windows!
По существу содания резервной копии его папок!
Дело в том, с помошью редактора реестра или CMD командами это можно сделать!
Для последнего на пример командой REG EXPORT.
Но мне нужно, другое!
Нужно что бы была возможность cобрать, отдельные папки разделa или подраздела реестра, с конкретним именем, под увьязку со значением, или найменованием подраздела, которые могут находится в разных местах реестра для того что бы, собрав их в один перечень, все это сохранить в файл в формате "reg".
Сколько не старался, ну никак не мог это сделать! И это не удивительно! Так как я не программист, а просто пользователь!
С помощью regedit.exe, приходилось папку с нужным именем находить, нажимая "искать далее" и натыкаясь на нее,
каждый раз тикать на "экспортировать" сохраняя нужный раздел в отдельный файл. Что делать вообще то можно, но только в том, случае, если иметь "железные нервы".
Именно поэтому не захотел возится с этим "ерундовым способом"! Тем более, для желаемого результата эти отдельные файлы надо еще объединить в один файл!
Открывать каждый, которых может быть десятки, и в ручную копировать в один файл! Что опять создает никчемный "мартышкин труд"!
Поэтому раз сам regedit.exe не позволил избирательно сохранять копии подразделов в один файл, то решил, воспользоватся возможностями
CMD! Но, к сожалению и тут не стыковка получилась!
Дело в том, что, если не ошибаюсь, REG EXPORT, аж до "тошноты" имеет ограниченные возможности (ограничивающиеся только возможнотями: REG EXPORT <раздел> <имя файла>),
по сравнению на пример с командой REG QUERY. На который я и перешел, в решении данной проблемы, не получив должный результат с помощью REG EXPORT.
введя на пример команду:

REG QUERY HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components /f Office /s > Office-HKLM_Installer_.reg

Т.е.Указав просто отдленый фрагмент из текста значения раздела реестра (фрагмент значения адреса размещения "Office" из
строки С:\ Programm files\common files\Microsoft SharedOffice\ и т.л.) CMD, казалось бы выдала все адреса подразделов в котрых размещено
данное значение в данном случае в разделе "Components".И вроде бы найдя все совпадения, записала их в отдельный указанный
файл: "Office-HKLM_Installer_.reg". Поэтому казалось бы дело в шляпе!
Но не тут то было!
Не увязка в формате, как не странно! Ибо REG QUERY HKLM\......\Components /f Office /s это не команда создания резервной копии раздела (файла *.reg)
А просто вывод перечнья совпадений папок и параметров реестра на экран.
И поэтому естественно перечень не в нужном формате, а в таком:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components\00002109A100000000000014F376BCF5
00002109A10000000000000000F01FEC REG_SZ C:\Program Files\Microsoft Office\Office12\ID_0001A.DPC
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components\00002109A100000000000044F37ADCF5
00002109A10000000000000000F01FEC REG_SZ C:\Program Files\Common Files\Microsoft Shared\OFFICE12\Office Setup Controller\OUTLOOK\ID_0001A.DPC
.... и т.д.

А нужно что бы перечень был в формате "reg" (где "REGEDIT4" или "Windows Registry Editor Version 5.00" хрен с ним я сам вписал бы):

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components\00002109A100000000000014F376BCF5]
"00002109A10000000000000000F01FEC"="C:\\Program Files\\Microsoft Office\\Office12\\ID_0001A.DPC"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components\00002109A100000000000044F37ADCF5]
"00002109A10000000000000000F01FEC"="C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE12\\Office Setup Controller\\OUTLOOK\\ID_0001A.DPC"

.....и т.д.

Пробовал еще по схеме: сперва перечень через REG QUERY потом через команду find и for/f в которых слабо разбираюсь! Но осточертело!
И вообще, в таком случае, это какая то "гремучая смесь команд" получается!
Сперва список REG QUERY. Потом, с помощью for/f скобки "[ ]" ставить на строку начинающуюся на "HKEY", ставить так же ковычки сначала второй через каждую третью строку. При чем, в отличие от выше приведенного примера в одной папке строк совпадений может быть не одно, а несколько. Где то 1 строка параметра и значения, а где то 2, или 5. Не говоря уже о том, что файл надо видоизменить не только по вертикали, но и по горизонтали! Ибо каждое содержимое раздела параметр и значение должны быть в ковычках, а вместо "типа" на пример: "REG_SZ" должен стоять знак равенства! Только в таком случае, если не ошибаюсь, это полноценный reg файл! Нажав на который, данные можно, одним махом или восстановить , или удалить введя дефис "-" под скобкой или после имени параметра.
Хотя и тут опять напряг в вопросе удаления. Так как, преобразовать файл в удаляющий указанных в нем данных подразделов реестра, не сложно! Введя дефис, или минус "-" после открывающей скобки. И одним махом это сделать не трудно,через обычный текстовый редактор блокнот, или более навороченный Notepad++. А если речь об удалении значений реестра то, это опять "геморой"!

Но сформулирую вопрос!

Мне нужно, что бы после установки какого ни будь ПО на ПК иметь все реестровые адреса расположения усановленной программы в виде файла *.reg. И это для любой интересующей установленной на ПК проги! Всего лишь два файла в формате "reg" для каждого ПО. Один для восстановления всех данных конкретнего ПО в реестре! Один для избирательного и точного удаления папок, именно конкретный программы из реестра! При чем, что бы удаляющий файл удалял где-то целиком под разделы, а где то, там где нужно, только параметр и значение, не трогая, при этом раздел в целом! т.е. все те места, которые относятся только к конкретней установленной программе!
И все это в одном файле!
Вот что мне нужно!

Не могли бы помочь?
Или может есть спец программа для выше указанной цели?
Проболвал так же найти такую возможность в прогах "CCleaner" "RegMon" и т.д. но, то чего мне нужно не обнаружил!
Прога "Reg Organizer" на пример тоже понравилась! И она конечно дает возможность видеть все адреса размещения любого
установленного ПО на ПК. Но все равно, и она не позволяет все эти реестр адреса каждого ПО иметь в отдельном *.reg файле!

И мой вопрос в том какой, пакет Dos команд надо написать, что бы они удовлетворили выше укажанную потребность?

И вообще, можно ли сделать выше описанное, через досовские команды,
на пример объеденить REG QUERY с REG EXPORT.
Т.е. сперва найти все места расположения любой конкретней проги в реестере, а потом запись перечьня перeформатировать в единный *.reg файл.
В двух экземплярах для каждого установленного ПО. Как для восстановления, так и для удаления!
Возможно ли это через REG QUERY и REG EXPORT?

И какой скрипт нужен для этого?

Знаю, что не вопрос, а целая петиция получилось!

Буду признателен за ответ!!
  • Можно ли, с помощью команд СМD,сохранить все реестровые адреса расположения установленного ПО в виде одного файла*.reg. от Gigi, 25 декабря 2012 года
20K
25 декабря 2012 года
ellor!
198 / / 24.05.2012
Возможно, вам подойдут Ashampoo UnInstaller или Revo Uninstaller.
87K
28 декабря 2012 года
Gigi
2 / / 24.12.2012
Спасибо "ellor"!
За продуктивный совет!

Следуя ему, недавно скачал указанные проги: "Ashampoo UnInstaller" и "Revo Uninstaller"

В них, того что нужно в полной мере не обнаружил! Однако, у одной из этих программ, есть хорошая фишка! Которая хоть частично решает проблему!
На пример у "Ashampoo UnInstaller" есть пункт меню "журналы". Там указан список последних установок! Т.е. последнее изменение в данных реестра!
И в этом меню прога регистрирует только те инсталяции, которые имели место после установки самого"Ashampoo UnInstaller. И при чем предусмотрена
возможность экспортировать только последние свежие изменения реестра в reg файл. А экспорт последних изменений данных реестра после установки
какого ни будь ПО в один файл, в принципе, это и есть все адреса расположения разделов конкретной программы в реестре собранный в единый файл.
Так что, вроде бы то, что нужно!
Правда, в отличие на пример от проги "Reg Organizer" " Ashampoo" почему то не все адреса расположения свеже установленной программы указывает!
Хотя в этом я точно не уверен! Так как, не тщательно сверял данные " Ashampoo", с теми же самыми данными в другой программе: "Reg Organizer".
Но, плюс "Ashampoo" в том, что он хоть как то, решил проблему! Минус в том, что решил не в полной мере, а частично!
И дело в том,что он сохраняет единый файл предназначенный только, для удаления. И при чем везде стоит удаление только значений, а не разделов!
А надо где-то и разделы удалять! В особенности те
разделы, реестра, которые имеют наименование самой установленной проги. Т.е. удаление и в этом должно быть избирательным! Может я слишком многого хочу!
Но с дурой стороны, да какой там много, это же в конце концов не "спутник же на орбиту запускать". На мой взгляд,подобный РЕГ файл там где нужно должен
удалять раздел в целом, а там где не нужно удалять только параметр не трогая сам раздел! Т.е. делать все аккуратно! И все с хирургической точностью!
Мне очень нравится прога "Reg Organizer" она указывает абсолютно все адреса установленного ПО и в реестре и в самой системе! Но если все это можно было
бы сохранить в едины Reg файл ей не было бы равных! Такую возможность имеет только "Ashampoo"! У которой интерфайс тоже более привлекательный, на мой взгляд.
Но и он, Reg файл экспортирует только как удаляющий,
а не и то и другое! Т.е. не так что бы Reg был экспортирован как удаления,так и для восстановления! И при чем, как я говоил, сам удаляющий Reg
тоже удаляет далеко не с
хирургической точностью! Хотя может я просто дотошный!

Вообще народ!
Я желаю! получить совет по этому вопросу! Поделюсь своим опытом! и буду рад получить опыт от других!
А тема такая! Дублирую еще раз:

ИМЕТЬ ВОЗМОЖНОСТЬ СОХРАНИТЬ ЕДИНЫЙ ФАЙЛ В ФОРМАТЕ *.REG" ЛЮБОГО УСТАНОВЛЕННОГО П.О. НА П.К. т.е. ВСЕ РЕЕСТР АДРЕСА РАСПОЛОЖЕНИЯ
ТОГО, ИЛИ ИНОГО П.О. В ЕДИНЫЙ ПОЛНОЦЕННЫЙ REG ФАЙЛ! И В ДВУХ ЭКЗЕМПЛЯРАХ: REG файл для удаления и аналогичный REG файл для восстановления!

Судя по тому, что я аж почти две недели не могу понять как это сделать, наверно это для не программиста, не легкая задача!
Сколько прог предназначенных для работы с реестром перепроверил, того что нужно, в полной мере, не у одной не обнаружил!

И даже в одной не маленькой книге на пример: А.В.Куприянова "реестр WindowsXP" всего лишь пару строк посвящено этой теме!

И даже там в главе "объединение нескольких заплаток говорится: "если вам нужно REG-файл, сожержащий параметры из разных разделов
реестра, то вы можете сначала сделать несколько отдельных REG-файлов (по одному на каждую ветку), а затем их объеденить.
просто скопируйте их содержимое в один текстовый REG-файл и все!"

Ауу!
Целое дело!
Мне больше делать нечего! Сидеть и искать все эти места расположения! создавая
десятки отдельных файлов и потом их объединять!
Неужели нельзя попроще!
Сама книга то не плохая!
Но даже в ней автором, не предлогается нормальный выход из положения!
Простой
(без лишнего "гемороя" шастать по реестру каждый раз тикая на пойск) и эффективный!

Что бы было минимум гема, максимум эффекта и хирургической точности!
Вот что важно!

Вообщем! Народ!

Если кто че знает по данной теме!
Имеет на пример, готовый скрипт в обычном батнике и на каком ни будь языке! Желательно в С++
который решил бы данную проблему то буду признателен за отклик!
Только, естественно, не скрипт "вирусной атаки" :):):)

А так у всех прог по реестру именно этой выше указанной функции не хвататет!
Хорошо, что хоть прога "Ashampoo UnInstaller" частично реашает проблему!

Буду благодарен за отклик!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог