Как сделать слияние файлов реестра

Обновлено: 04.07.2024

Работа с реестром возможна не только через утилиту regedit.exe , но и напрямую из командной строки с помощью утилиты REG , она поддерживает все возможности, которые имеет программа regedit.exe . И более того – она также поддерживает несколько особенных функций. Полезна в том случае когда работа с regedit по каким либо причинам невозможна.

К тому же это позволяет автоматизировать многие рутинные задачи и встраивать команды в скрипты.

Основной синтаксис¶

В общем виде синтаксис команды REG выглядит следующим образом:

Всего существует одиннадцать процедур, которые способна выполнять директива REG : QUERY , ADD , DELETE , COPY , SAVE , LOAD , UNLOAD , RESTORE , COMPARE , EXPORT , IMPORT . Каждая из этих процедур имеет, как правило, собственный набор параметров.

Более подробные сведения об использовании утилиты REG вы можете получить, набрав в командной строке директиву REG /? , чтобы получить информацию о какой-либо из перечисленных процедур, воспользуйтесь командой REG /? .

Сокращения¶

Для удобства ввода применяются сокращения названий веток реестра. Все сокращения представлены в таблице ниже:

Сокращения названий веток реестра ¶
Ветка Сокращение
HKEY_CLASSES_ROOT HKCR
HKEY_CURRENT_USER HKCU
HKEY_LOCAL_MACHINE HKLM
HKEY_USERS HKU
HKEY_CURRENT_CONFIG HKCC

Вывод содержимого ветвей (QUERY)¶

Команда REG QUERY отправляет в системный реестр Windows запрос о содержимом ветвей, ключей, подразделов или параметров, и выводит на экран результат обработки этих запросов. В общем виде синтаксис данной команды записывается следующим образом:

В составе директивы могут использоваться следующие параметры:

  • Компьютер – имя компьютера в локальной сети, если директива предназначена для обработки на удаленном компьютере. В случае, если этот параметр опущен, команда выполняется на локальном компьютере.
  • Путь – полный путь к целевому разделу реестра в виде корень\ключ\подраздел , где корень - сокращенное обозначение ветви реестра ( HKLM , HKCU , HKCR , HKU или HKCC ), а ключ\подраздел - полный путь к искомому подразделу в иерархии реестра, включая все вложенные подразделы.
  • /v – запрос о содержимом указанного раздела реестра.
  • Параметр – вывести имя и значение запрашиваемого параметра в указанном разделе.
  • /ve – запрос стандартного параметра с пустым именем.
  • /s – вывести список всех подразделов данного раздела реестра вместе с их содержимым.

В качестве примера получим содержимое ветки в которой хранятся закрытые ключи квалифицированных электронных подписей:

Лучше вводить путь в кавычках.

Будет выведен примерно такой результат:

Как видно из вывода, в реестре компьютера находится всего один контейнер 2015ZAO_ .

Экспорт и импорт веток реестра (EXPORT и IMPORT)¶

Для экспорта используется команда EXPORT . Синтаксис команды:

  • имя_раздела – полное имя подраздела реестра в одном из выбранных корневых разделов.
  • имя_файла – имя .reg файла, который получится после экспорта.
  • Параметр /y в конце команды позволяет выполнение замены существующего файла без запроса подтверждения.

Экспортируем контейнеры закрытых ключей на рабочий стол:

Вся ветка с контейнерами успешно экспортирована на рабочий стол и сохранена в файле keys.reg . Теперь импортируем ее обратно.

Команда доступна только для выполнения на локальном компьютере.

Для импорта используется команда IMPORT . Синтаксис команды:

Напомню, что для экспорта ветки на другом компьютере, необходимо будет изменить в файле keys.reg путь к ветке реестра с учетом разрядности операционной системы и SID текущего пользователя. Подробнее об импорте и экспорте закрытых ключей смотрите в Руководстве по работе с реестром ОС Windows в разделе Где хранятся ключи(закрытый ключ сертификата) в реестре? [1739].

Создание резервной копии реестра (SAVE и RESTORE)¶

Для резервного копирования и восстановления реестра используются следующие команды (типы операций) утилиты REG SAVE и REG RESTORE :

В данному разделе перечислены основные команды утилиты REG для получения более подробной информации обратитесь к ресурсам, перечисленным в разделе Дополнительные ссылки

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

Или regedt32, предназначен для просмотра и редактирования системного реестра и его содержимого, а запуск или правка реестра из командной строки осуществляется с помощью утилиты reg .

Ниже приведен список пяти корневых разделов и их коротких обозначений:

  • HKEY_CLASSES_ROOT (HKCR),
  • HKEY_CURRENT_USER (HKCU),
  • HKEY_LOCAL_MACHINE (HKLM),
  • HKEY_USERS (HKU),
  • HKEY_CURRENT_CONFIG (HKCC).

Что бы просмотреть разделы реестра командной строкой, надо прописать

В папке %SystemRoot%\system32\config хранятся пять системных файлов:

Утилита reg командная строка, команда save

Данная команда полезна в тот момент, если надо сохранить реестр, перед тем, как например производится правка реестра из командной строки, что бы при беде вновь восстановить. И так, сама команда имеет следующий синтаксис:

rеg save "ИмяРаздела" "ИмяФайла"

ИмяРазделя – указываем путь к сохраняемому разделу, например

ИмяФайла – здесь указывается путь к файлу куста (registry hive), который нужно создать, он должен иметь расширение.hiv, например: “C:\regsave\sеrvicеs.hiv”. Если надо работать с удаленной системой, то стоит помнить, что удаленно доступны только ветки HKLM и HKU. Если при попытке просмотреть разделы реестра командной строкой на удаленной машине возникают трудности, например, после ввода команды:

rеg query \\192.168.1.6\HKLM

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

tasklist /s 192.168.1.6 /u ИмяПользователя /p Пароль

тут я запустил t для просмотра запущенных процессов на удаленной машине, используя пароль администратора, фактически авторизировался, после, манипуляции прошли на ура (с Семерки подключал удаленный реестр машины Windows XP Sp3).

rеg save HKLM\SYSTEM\CurrentControlSet\Servicеs "C:\regsave\servicеs.hiv"

rеg restore HKLM\SYSTЕM\CurrentControlSet\Sеrviсеs "C:\regsave\services.hiv"

rеg add HKLM\SYSTEM\CurrentContrоlSet\Services\TEMP

тут в ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services мы добавили временный раздел TEMP. Если ввести команду

rеg query HKLM\SYSTEM\CurrentCоntrolSet\Serviсеs\TEMP

то видно, что тут пока пусто. А теперь снова произведем запуск команды restore, но сделаем правку пути, куда будем перезаписывать данные:

rеg restore HKLM\SYSTЕM\CurrentContrоlSet\Services\TEMP "C:\regsave\services.hiv"

поскольку подраздел реестра TEMP, созданный командной строкой, не используется системой (мы его только что создали),то и данные туда успешно записались. Теперь, введя команду

rеg query HKLM\SYSTEM\CurrentControlSet\Serviсеs\TEMP

видно, что сюда импортировалось содержимое всего подраздела service. В результате этих действии видно, что неправильное использование команды restore может привести к простому замусориванию вашего реестра. Теоретически, что бы удалить подраздел TEMP надо ввести команду:

rеg delete HKLM\SYSTЕM\CurrentControlSet\Serviсеs\TEMP

Утилита reg командная строка, команда export

reg export HKLM\SYSTЕM\CurrentControlSet\Services "C:\regsave\sеrviсеs.reg"

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

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

Начнем рассмотрение системных файлов с reg файла. Потому что именно с этими файлами частенько встречаются пользователи. Несмотря на такое необычное расширение на самом деле это обыкновенный текстовый файл. Расширение reg указывает операционной системе, что в данном файле содержатся ключи реестра и определенные параметры.

Смотрите ниже, как выглядит reg файл.


Вся информация для простоты обработки компьютером четко структурирована. Так, например, обязательная первая строка REGEDIT с необходимым параметром указывает компьютеру для какой именно версии ОС Windows предназначен reg файл. Далее в определенном порядке идут ключи реестра и параметры к ним.


Для чего нужен reg файл

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


Как работать с reg файлом

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

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

Вариант № 2: Запускаем regedit с помощью проводника Windows


Вариант № 3: Запуск реестра Windows через встроенную поисковую строку


Может быть такое, что система обнаружит несколько файлов, имеющих в своем названии regedit. Этого не стоит пугаться. Просто находим среди них тот, который располагается на диске C в папке Windows и называется regedit. Чтобы запустить его, дважды щелкаем по нему мышкой, в принципе ничего сложного.

Чем отличается этот способ запуска редактора реестра? Скоростью выполнения задачи, так как для запуска программы достаточно выполнить всего 3 действия:

В целом такой вариант запуска реестра подходит для использования на компах с любой операционной системой от Microsoft. Тем не менее на компьютерах с Windows XP для этого также можно использовать преимущества ее внутреннего интерфейса.

Таким образом, найти и запустить реестр Виндовс (программу regedit, редактор реестра) вполне несложно. Достаточно лишь выбрать один понравившийся вариант из 4 описанных выше и смело приступать к внесению нужных вам системных настроек.

Импорт параметров реестра можно осуществить несколькими способами.

Запуск REG-файла

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

Двойной щелчок мыши

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


Рисунок 1. Система запрашивает подтверждение на внесение изменений.

Командная строка

Для импорта REG-файлов из командной строки существует команда REGEDIT. Набрав в командной строке

Вы получите точно такое же диалоговое окно, как при двойном щелчке мыши. Подавить появление диалогового окна можно запустив команду с параметром /S

Команда REG ADD

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

REG ADD [\\\] Имя удаленного компьютера, если оно опущено, то по умолчанию считается равным имени локального компьютера. На удаленных компьютерах доступны только разделы HKLM и HKU. Полный путь к разделу реестра в виде КОРЕНЬ\Подраздел. Корневой радел. Значения [ HKLM | HKCU | HKCR | HKU | HKCC ]. Полный путь к разделу реестра в выбранном корневом разделе. /v Имя добавляемого параметра в указанном разделе. /ve Добавить пустой параметр (По умолчанию) в указанный раздел. /t Типы данных. По умолчанию, считается равным REG_SZ. /s Определяет разделитель, который используется для разделения данных в многострочных параметрах типа REG_MULTI_SZ. По умолчанию, считается равным "\0". /d Значение, присеваемое добавляемому параметру реестра. /f Принудительно перезаписывать существующие записи реестра без предупреждения. Примеры: REG ADD \\ABC\HKLM\Software\MyCo Добавляет раздел HKLM\Software\MyCo на удаленный компьютер ABC REG ADD HKLM\Software\MyCo /v Data /t REG_BINARY /d fe340ead Добавляет параметр с именем: Data, типом: REG_BINARY, и значением: fe340ead REG ADD HKLM\Software\MyCo /v MRU /t REG_MULTI_SZ /d fax\0mail Добавляет параметр с именем: MRU, типом: REG_MUTLI_SZ, и значением: fax\0mail\0\0 REG ADD HKLM\Software\MyCo /v Path /t REG_EXPAND_SZ /d %%systemroot%% Добавляет параметр с именем: Path, типом: REG_EXPAND_SZ, и значением: %systemroot% Примечание: Используйте в строке двойные символы процента (%%)

INF-файл

Импортировать параметры в реестр можно и при помощи INF-файлов. Их общий синтаксис несколько сложнее, чем у REG-файлов, но непосредственно запись в реестр осуществляется достаточно просто. Ниже приводится пример из аддона Msgina

Signature="$Windows NT$" Msgina OptionDesc="Msgina" Tip="Библиотека GINA входа в систему" Modes=0,1,2,3 AddReg=Msgina.AddReg HKLM,"Software\Policies\Microsoft\Windows\System\Shutdown","ShowHibernateButton",0x10001,1 HKLM,"Software\Policies\Microsoft\Windows\System\Shutdown","HibernateAsButton",0x10001,1 Примечание . Дополнительную информацию об INF-файлах можно найти в .

4х4 SuperPack это текстуры для Майнкрафт это в первую очередь с ориентацией на производительность, который был построен, чтобы позволить игрокам, чтобы запустить Майнкрафт, не беспокоясь о задержки или частоту кадров вопросы. Майнкрафт играет множество и

Практически каждый владелец персонального компьютера, практически сразу после его покупки, задумывается о вопросе подключения к Всемирной паутине, дающей возможность общения с людьми со всего мира, загрузки и поиска нужной информации, использования всевоз

Последние материалы

Искал смайлы для сайта, смайлы, хоть и попсовенькие, нашел. Попутно открыл для себя японские смайлы — каомодзи. Т.е. оказалось, что бывало, я пользовался некоторыми из них и раньше, но вот об их происхождении и принадлежности ничего прежде не знал. Каомо.

Сколько раз следует объехать квартал, чтобы найти подходящее место для парковки? Как долго стоит испытывать удачу в рискованном предприятии, прежде чем забрать свою долю? Сколько ждать лучшего предложения на этот дом или автомобиль? И даже: пора ли уже.

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

Начиная с древнейших времен, становление человеческой цивилизации неразрывно связано с моделированием, то есть с построением, изучением и использованием моделей различных объектов, процессов и явлений. Например, в разговоре мы как бы замещаем реальные объ.

Редактирование системного реестра Windows - полезное умение в руках каждого пользователя. В статье Изменение параметров cистемного реестра Windows мы познакомились с самим реестром, его структурой и рассмотрели примеры с изменениями параметров его ключей. Сегодня мы поговорим о том, как автоматизировать процесс правки реестра и сделать его удобнее и быстрее.

Содержание статьи:

Создание reg-файлов для правки реестра

Ручное изменение ключей реестра приемлемо в том случае, когда вам необходимо разово произвести ту или иную настройку. Но если нам нужно повторять одну настройку с определённой периодичностью или задать нужные параметры на нескольких компьютерах, то возникает необходимость в упрощении процесса правки данной базы настроек системы.

Будьте аккуратны при вмешательстве в реестр, так как необдуманные действия и некорректные правки в этой части ОС могут повлечь за собой сбои в работе программного обеспечения и крах системы. Перед внесением любых изменений в системный реестр Windows сайт mirAdmin настоятельно рекомендует вам делать резервную копию изменяемых данных

Для автоматизации процесса редактирования реестра служат специальные файлы со своим синтаксисом и расширением *.reg. В вышеупомянутой записи о знакомстве с реестром Windows мы уже сталкивались с подобными файлами при создании резервной копии веток реестра и восстановлении их из бэкапа. Но такие рег-файлы можно писать и самому, если придерживаться определённых правил.

Синтаксис reg-файлов

Для примера мы поменяем клавиши смены языка ввода с Alt + Shift на Ctrl + Shift.
На интересует ветка реестра

Итак, для создания reg-файла открываем текстовый редактор, например, Блокнот Windows. Вставляем в окно редактора следующий код:

Windows Registry Editor Version 5.00 - это строка приветствия системы, позволяющая Windows определить, какого типа файл был запущен. Обязательна в начале всех reg-файлов, прописывается один раз.
;Переключение языка по левым Ctrl + Shift - строка комментария. Любая строка файла изменения реестра, начинающаяся точкой с запятой, не будет исполняться системой, служит для пояснительных записей. Комментарии прописываются сколько угодно раз.
[HKEY_CURRENT_USER\Keyboard Layout\Toggle] - куст реестра, в котором будут производиться изменения. О множественных записях подробно отметим чуть ниже.
"Hotkey"="2", "Language Hotkey"="2", "Layout Hotkey"="3" - ключи реестра, расположенные в обрабатываемой ветке, и задаваемые им параметры. Каждый ключ с новой строки.

После этого жмём в меню текстового редактора на кнопку Файл , выбираем пункт Сохранить как , в строке Тип файла выбираем Все файлы , а в строке Имя файла задаём название, в конце которого ставим точку и дописываем расширение .reg.

Создание reg-файла в Блокноте Windows

Готовые файлы реестра для настройки сочетания клавиш смены языка можно скачать ниже:

Смена языка по Alt + Shift: language_alt_shift
Смена языка по Ctrl + Shift: language_ctrl_shift

Добавление ключей в реестр через reg-файл

Пример выше изменяет параметры существующих ключей . Но бывают ситуации, когда нам нужно добавить ключ, которого нет в реестре на данный момент. Напомним, что в статье о реестре Windows, упомянутой в начале данной записи, мы выделяли один момент:

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

Например, код reg-файла, позволяющего отключить автоматическую перезагрузку компьютера в случае появления синего экрана BSOD , будет выглядеть следующим образом:

где dword: - это тип данных добавляемого ключа реестра.

Готовый файл, отключающий перезагрузку Windows при падении системы в BSOD, можно скачать здесь: bsod_reboot_off

Изменение нескольких веток реестра в одном reg-файле

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

Для примера, приведём код, позволяющий отключить автозапуск со съёмных носителей и подключаемых устройств :

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

Готовый reg-файл для отключения автозапуска со съёмных носителей можно скачать отсюда: autorun_off

Удаление веток реестра reg-файлом

Выше мы рассмотрели синтаксис registry-файлов для добавления и изменения параметров . Но как писать файл, если нам надо удалить хвосты в реестре , допустим, после деинсталляции программы.

Пример конкретных программ рассматривать не будем, а решим задачу по удалению из окна Проводника на вкладке Мой компьютер лишних папок: Видео, Документы, Загрузки, Изображения, Музыка, Рабочий стол

Удаление папок из меню Этот компьютер Проводника Windows

Пишем reg-файл, в котором перед каждой веткой для удаления ставим минус:

И по традиции готовый файл редактирования реестра: folders_remove

Бонус. Восстановление ассоциаций ярлыков и файлов

Восстановление ассоциаций exe-файлов (исполнительных файлов, программ): exe-associations-fix
Восстановление ассоциаций lnk-файлов (ярлыков): lnk-associations-fix
Восстановление ассоциаций всех файлов (включая lnk и exe): all-associations-fix

Сегодня мы поговорили о том, что редактировать реестр Windows можно не только вручную, но и посредством reg-файлов. Добавление, редактирование, копирование и удаление данных реестра возможно и с помощью bat-файлов, о синтаксисе которых мы говорили в теме Пакетные файлы (bat, батники) Windows, но этот вопрос выходит за рамки обсуждения данной статьи и рассмотрен отдельно в публикации Редактирование реестра Windows из командной строки, bat-файлы

В этой инструкции для начинающих пошагово о том, как создать REG файл средствами системы и что именно он в себе содержит. См. также: Как создать bat файл в Windows.

Содержимое REG файла

Файл .reg является простым текстовым файлом, содержащим данные, которые вносятся в реестр. Разберем пример:

Далее в квадратных скобках указывается раздел реестра, где нужно создать или изменить параметр (при отсутствии раздела, он будет создан), а затем сам параметр и его значение. В рамках одного раздела мы можем указать более одного параметра, каждый на новой строке.

Наиболее часто используемые параметры реестра — это значения DWORD и строковые параметры. В приведенном выше коде присутствуют оба типа:

  • Строковый параметр с именем SmartScreenEnabled и значением Off, задаваемый без указания типа, но значение при этом берется в кавычки:
  • Параметрs DWORD со значением 0, например, EnabledV9, задаваемый с указанием типа:

Создание файла REG с помощью текстового редактора

На всякий случай — видео, где всё описанное выше показано наглядно (а также рассказывается, как удалять параметры и разделы реестра через REG-файл):

На этом всё. Как видите, ничего сложного и, надеюсь, инструкция оказалась полезной.

Читайте также: