Создание reg-файлов. Синтаксис редактирования записей реестра
Содержание статьи:
Создание reg-файлов для правки реестра
Ручное изменение ключей реестра приемлемо в том случае, когда вам необходимо разово произвести ту или иную настройку. Но если нам нужно повторять одну настройку с определённой периодичностью или задать нужные параметры на нескольких компьютерах, то возникает необходимость в упрощении процесса правки данной базы настроек системы.
Для автоматизации процесса редактирования реестра служат специальные файлы со своим синтаксисом и расширением *.reg. В вышеупомянутой записи о знакомстве с реестром Windows мы уже сталкивались с подобными файлами при создании резервной копии веток реестра и восстановлении их из бэкапа. Но такие рег-файлы можно писать и самому, если придерживаться определённых правил.
Синтаксис reg-файлов
Для примера мы поменяем клавиши смены языка ввода с Alt + Shift на Ctrl + Shift.
На интересует ветка реестра
Итак, для создания reg-файла открываем текстовый редактор, например, Блокнот Windows. Вставляем в окно редактора следующий код:
Готовые файлы реестра для настройки сочетания клавиш смены языка можно скачать ниже:
Смена языка по Alt + Shift: language_alt_shift
Смена языка по Ctrl + Shift: language_ctrl_shift
Добавление ключей в реестр через reg-файл
где dword: — это тип данных добавляемого ключа реестра.
Готовый файл, отключающий перезагрузку Windows при падении системы в BSOD, можно скачать здесь: bsod_reboot_off
Изменение нескольких веток реестра в одном reg-файле
Если же нам необходимо изменить одним файлом ключи, расположенные в различных кустах реестра Windows, то совсем не обязательно на каждую ветку создавать отдельный файл. Для этого нам достаточно после описания параметров первой ветки добавить настройку следующей ветки с новой строки.
Для примера, приведём код, позволяющий отключить автозапуск со съёмных носителей и подключаемых устройств :
Записи настроек текущего пользователя здесь добавлены для верности, при необходимости можно вставить в создаваемый reg-файл только нужные строки.
Готовый reg-файл для отключения автозапуска со съёмных носителей можно скачать отсюда: autorun_off
Удаление веток реестра reg-файлом
Пример конкретных программ рассматривать не будем, а решим задачу по удалению из окна Проводника на вкладке Мой компьютер лишних папок: Видео, Документы, Загрузки, Изображения, Музыка, Рабочий стол
Пишем reg-файл, в котором перед каждой веткой для удаления ставим минус:
И по традиции готовый файл редактирования реестра: 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 файлом
Сообщения: 490
Благодарности: 38
| К reg-файлам предъявляются определенные требования по структуре. Начнем с того, что в первой строке файла обязательно должно быть введено (для Windows 9x) REGEDIT4 |
или (для Windows 2000/XP)
Windows Registry Editor Version 5.00
Обратите внимание на то, что буквы должны быть большие. Кроме этого в первой строке ничего быть не должно. После этого текста ОБЯЗАТЕЛЬНО должна быть пустая строка. Затем, указывается раздел реестра, в котором надо прописать или изменить какие-то параметры. Название раздела должно быть заключено в квадратные скобки [. ]. Ниже прописываются параметры, которые надо добавить, по одному параметру в строке. Если вам надо провести изменения в нескольких разделах, то вы должны оставлять одну пустую строку между последним параметром предыдущего раздела и названием следующего раздела. Может немного запутанно, но вот как это должно выглядеть:
[Razdel1]
«param1″=»znachenie1»
«param2″=»znachenei2»
«param3″=»znachenie3»
Последняя строка в файле должна быть ПУСТОЙ. После того, как вы создали такой файл, просто запустите его как обычную программу, вам будет выдан запрос о необходимости провести изменения в реестре, и после положительного ответа информация из файла будет импортирована. О результатах импортирования Windows сообщит в появившемся после этого окне.
Примечание: Windows 2000/XP обладает обратной совместимостью и может обрабатывать файлы, созданные в Windows 9x. Но если вы экспортировали файл в Windows XP и перенесли его на Windows 9x, то вручную измените первую строчку на REGEDIT4
Теперь пару слов о параметрах, которые можно добавлять. Как вы, наверное, обратили внимание, в приведенном выше примере добавляются параметры с помощью строк типа «param1″=»znachenie1». Т.е. таким образом добавляется СТРОКОВЫЙ параметр с именем «param1» и значением «znachenie1». Но ведь существуют еще и параметры двоичные и DWORD. Формат записи для их добавления несколько другой. Для параметров типа DWORD используется строка
Для добавления двоичного параметра формат записи несколько иной:
Теперь расшифрую эту строку. Ну, с названием параметра все ясно, после знака «=» идет hex, т.е. указывается, что это будет двоичный параметр, затем идут шестнадцатеричные числа, отделенные запятой. Например, если вам надо добавить двоичный параметр равный «be 00 00 00», то вы пишете строку
В реестре существуют параметры «По умолчанию» («Default»). Чтобы присвоить им какое-то значение через reg-файл, надо добавить такую строку:
Здесь значок @ показывает, что у нас присваивается значение параметра «По умолчанию». Обратите внимание на то, что он не заключается в кавычки.
Теперь я приведу пример простенького reg-файла, который прописывает в реестр сайт, устанавливающий домашнюю страничку в Internet Explorer’e:
[HKEY_CURRENT_USER\Software\ Microsoft\Internet Explorer\Main]
«Start Page» = «http://winchanger.narod.ru/»
Удаление параметров
С помощью reg-файлов можно не только устанавливать новые параметры, но и удалять их. Например, для удаления раздела из реестра надо перед его именем в квадратных скобках поставить символ «-«. Вот как это выглядит:
Благодаря этой записи, подраздел «QuickStart» из раздела «QuickSoft» будет удален со всем содержимым.
Для удаления отдельных параметров используйте следующий синтаксис:
Параметры командной строки
Редактор реестра можно запускать с некоторыми ключами
Эта статья предназначена для продвинутых пользователей, администраторов и ИТ-специалистов.
Импорт регистрационных записей (.reg) файлов является особенностью Regedit.exe и не поддерживается Regedt32.exe. Вы можете использовать Regedit.exe для внесения некоторых изменений в реестр на Windows NT 4.0 или Windows 2000 основе компьютера, но некоторые изменения требуют Regedt32.exe. Например, нельзя добавлять или изменять REG_EXPAND_SZ или REG_MULTI_SZ значения с помощью Regedit.exe на windows NT 4.0 или windows 2000-компьютер. Regedt32.exe является основным редактором реестра для Windows NT 4.0 и Windows 2000. Если необходимо использовать Regedt32.exe, вы не можете использовать файлы регистрационных записей (.reg) для изменения реестра. Для получения дополнительной информации о различиях между Regedit.exe и Regedt32.exe, нажмите следующий номер статьи, чтобы просмотреть статью в базе знаний Microsoft:
141377 Различия между Regedit.exe и Regedt32.exe
Содержание
Аннотация
Внимание! В этом разделе, описании способа или задачи содержатся сведения об изменении реестра. Но неправильное изменение параметров реестра может привести к возникновению серьезных проблем. Поэтому такие действия следует выполнять очень внимательно. Чтобы обеспечить дополнительную защиту, создайте резервную копию реестра перед его изменением. Это позволит восстановить реестр при возникновении неполадок. Дополнительные сведения о создании резервной копии и восстановлении реестра см. в следующей статье базы знаний Майкрософт:
Reg Delete или Удаление записей в реестре через bat-файл

В общем виде команда Reg Delete выглядит так:
reg delete имя_раздела [/v имя_записи|/ve|/va] [/f]
Разберем синтаксис подробнее:
имя_раздела — указывается раздел, в котором находятся нужные ключи реестра. Фактически, путь к этим ключам. Если в пути встречаются пробелы между символами, его необходимо заключить в кавычки.
Например, на скриншоте ниже мы видим, что переменные реестра, относящиеся к программе 7-Zip лежат в ветке HKEY_LOCAL_MACHINE\SOFTWARE\7-Zip. Корневой раздел надо указывать в сокращенном виде: HKLM, HKCU, HKCR, HKU или HKCC.
/v имя_записи — имя удаляемого ключа реестра. Если не указать, будут удалены все подразделы и ключи.
/ve — удалять безымянные параметры.
/va — запрашивать все параметры данного раздела.
/f — удалять принудительно без дополнительного предупреждения.
Если операцию необходимо провести на удаленном компьютере, то перед именем раздела необходимо добавить имя компьютера вот в таком виде \\имя_компьютера\имя_раздела. Дальнейший синтаксис команды остается без изменений.
Пример использования команды Reg Delete:
Данная команда удалит параметр ABC в разделе HKEY_LOCAL_MACHINE\SOFTWARE\TEST на компьютере Test-PC. Если удаление происходит на локальном компьютере, то достаточно
Если нам нужно удалить весь раздел TEST целиком, то можно использовать команду
Как видим, команда Reg Delete не сложна в использовании. Тем не менее, нужно соблюдать осторожность, поскольку бездумное удаление ключей и разделов реестра способно оказать негативное влияние на операционную систему и софт в ней.
Удалить параметр реестра reg файлом
Сообщения: 490
Благодарности: 38
| К reg-файлам предъявляются определенные требования по структуре. Начнем с того, что в первой строке файла обязательно должно быть введено (для Windows 9x) REGEDIT4 |
или (для Windows 2000/XP)
Windows Registry Editor Version 5.00
Обратите внимание на то, что буквы должны быть большие. Кроме этого в первой строке ничего быть не должно. После этого текста ОБЯЗАТЕЛЬНО должна быть пустая строка. Затем, указывается раздел реестра, в котором надо прописать или изменить какие-то параметры. Название раздела должно быть заключено в квадратные скобки [. ]. Ниже прописываются параметры, которые надо добавить, по одному параметру в строке. Если вам надо провести изменения в нескольких разделах, то вы должны оставлять одну пустую строку между последним параметром предыдущего раздела и названием следующего раздела. Может немного запутанно, но вот как это должно выглядеть:
[Razdel1]
«param1″=»znachenie1»
«param2″=»znachenei2»
«param3″=»znachenie3»
Последняя строка в файле должна быть ПУСТОЙ. После того, как вы создали такой файл, просто запустите его как обычную программу, вам будет выдан запрос о необходимости провести изменения в реестре, и после положительного ответа информация из файла будет импортирована. О результатах импортирования Windows сообщит в появившемся после этого окне.
Примечание: Windows 2000/XP обладает обратной совместимостью и может обрабатывать файлы, созданные в Windows 9x. Но если вы экспортировали файл в Windows XP и перенесли его на Windows 9x, то вручную измените первую строчку на REGEDIT4
Теперь пару слов о параметрах, которые можно добавлять. Как вы, наверное, обратили внимание, в приведенном выше примере добавляются параметры с помощью строк типа «param1″=»znachenie1». Т.е. таким образом добавляется СТРОКОВЫЙ параметр с именем «param1» и значением «znachenie1». Но ведь существуют еще и параметры двоичные и DWORD. Формат записи для их добавления несколько другой. Для параметров типа DWORD используется строка
Для добавления двоичного параметра формат записи несколько иной:
Теперь расшифрую эту строку. Ну, с названием параметра все ясно, после знака «=» идет hex, т.е. указывается, что это будет двоичный параметр, затем идут шестнадцатеричные числа, отделенные запятой. Например, если вам надо добавить двоичный параметр равный «be 00 00 00», то вы пишете строку
В реестре существуют параметры «По умолчанию» («Default»). Чтобы присвоить им какое-то значение через reg-файл, надо добавить такую строку:
Здесь значок @ показывает, что у нас присваивается значение параметра «По умолчанию». Обратите внимание на то, что он не заключается в кавычки.
Теперь я приведу пример простенького reg-файла, который прописывает в реестр сайт, устанавливающий домашнюю страничку в Internet Explorer’e:
[HKEY_CURRENT_USER\Software\ Microsoft\Internet Explorer\Main]
«Start Page» = «http://winchanger.narod.ru/»
Удаление параметров
С помощью reg-файлов можно не только устанавливать новые параметры, но и удалять их. Например, для удаления раздела из реестра надо перед его именем в квадратных скобках поставить символ «-«. Вот как это выглядит:
Благодаря этой записи, подраздел «QuickStart» из раздела «QuickSoft» будет удален со всем содержимым.
Для удаления отдельных параметров используйте следующий синтаксис:
Параметры командной строки
Редактор реестра можно запускать с некоторыми ключами


