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

Сегодня: 19.04.2024, Пятница

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

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

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

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

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

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

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

HKEY_CURRENT_USER\Keyboard Layout\Toggle

И ключи Hotkey, Language Hotkey и Layout Hotkey, которые имеют значения по умолчанию 1, 1 и 2, соответственно.
Для изменения сочетания клавиш нам нужно будет присвоить им новые значения "Hotkey"="2", "Language Hotkey"="2", "Layout Hotkey"="3"

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

Windows Registry Editor Version 5.00

;Переключение языка по левым Ctrl + Shift
[HKEY_CURRENT_USER\Keyboard Layout\Toggle]
"Hotkey"="2"
"Language Hotkey"="2"
"Layout Hotkey"="3"

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, будет выглядеть следующим образом:

Windows Registry Editor Version 5.00

;Отключить автоматическую перезагрузку в случае BSOD
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl]
"AutoReboot"=dword:00000000

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

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

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

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

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

Windows Registry Editor Version 5.00

;Отключить автозапуск носителей и устройств Windows для всех пользователей
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer]
"NoDriveTypeAutoRun"=dword:000000ff

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Cdrom]
"AutoRun"=dword:00000000

;Отключить автозапуск носителей и устройств Windows для текущего пользователя
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoDriveTypeAutoRun"=dword:000000ff

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers]
"DisableAutoplay"=dword:00000001

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

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

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

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

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

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

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

Windows Registry Editor Version 5.00

; Удаление папки "Рабочий стол"
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{B4BFCC3A-DB2C-424C-B029-7FE99A87C641}]
; Удаление папки "Документы"
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{A8CDFF1C-4878-43be-B5FD-F8091C1C60D0}]
; Удаление папки "Загрузки"
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{374DE290-123F-4565-9164-39C4925E467B}]
; Удаление папки "Музыка"
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{1CF1260C-4DD0-4ebb-811F-33C572699FDE}]
; Удаление папки "Изображения"
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{3ADD1653-EB32-4cb0-BBD7-DFA0ABB5ACCA}]
; Удаление папки "Видео"
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{A0953C92-50DC-43bf-BE83-3742FED03C9C}]

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

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

После вирусной атаки на компьютер иногда случается так, что при попытке запуска определённого типа файлов стартует не предназначенная для этого программа.
Ассоциации файловЕсли с нарушением ассоциаций медиафайлов и документов легко справиться при помощи контекстного меню Открыть с помощью, то исправление нарушения запуска ярлыков и программ требует вмешательства в настройки системы.

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

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

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



Добавить комментарий

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


  1. Александр

    А если у ключа реестра нет имени, как изменить его параметр? ключ «по умолчанию»

  2. Артём

    А возможно как-то удалить один элемент в разделе? Ну например в разделе
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
    есть два элемента. egui и SecurityHealth. Возможно удалить только элемент SecurityHealth не трогая egui?

  3. Артём

    А возможно как-то сделать удаление элемента в ветке? Ну например в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\test
    удалить элемент test со значением 19?

    Просто я хотел удалить в
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
    один элемент, но их там несколько. Подскажите пожалуйста, очень нужно.

  4. ввв

    помогите составить запись реестра из :
    reg add «HKey_Local_Machine\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\KeyExchangeAlgorithms\Diffie-Hellman» /f /v ClientMinKeyBitLength /t REG_DWORD /d 0x00000800
    reg add «HKey_Local_Machine\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\KeyExchangeAlgorithms\Diffie-Hellman» /f /v ServerMinKeyBitLength /t REG_DWORD /d 0x00000800