Редактирование реестра Windows из командной строки, bat-файлы

На нашем ресурсе уже есть публикация, описывающая основной способ работы с системным реестром Windows : Изменение параметров cистемного реестра Windows. Также мы рассматривали способ автоматизации процесса при помощи специальных файлов: Создание reg-файлов. Синтаксис редактирования записей реестра — позволяющий значительно упростить монотонную работу и воспроизведение часто используемых настроек. В рамках данной статьи мы затронем логическое продолжение темы, а именно, поговорим о том, как редактировать реестр из командной строки.
Содержание статьи:
Использование bat-файлов для редактирования реестра
Точнее сказать, мы, разумеется, не будем раз за разом вручную прописывать нужные параметры в окне консоли, не для этого данный способ нужен, мы рассмотрим вариант внесения изменений в системный реестр Windows при помощи bat-файлов.
Достаточно подробно о создании и использовании батников речь шла в записи Пакетные файлы (bat, батники) Windows, ещё одна функция, которую можно и нужно использовать — изменение записей реестра при помощи cmd языка .
Использование батников для редактирования реестра иногда может быть выгоднее и удобнее, нежели работа со стандартными для этих целей reg-файлами.
- батники шире используются в администрировании;
- батники имеют режим тихого запуска (без всплывающих окон);
- батники можно запускать с повышенными правами, то есть от имени Администратора;
- с помощью бат-файлов возможна работа с реестром сетевых машин.
Именно для таких частных случаев будет полезно знать, как написать батник для редактирования системного реестра Windows.
Работа с реестром из командной строки
Синтаксис бат-файлов и процесс их создания описан в статье, приведённой выше, в данной же публикации затронем исключительно тему, касающуюся выполнения функции изменения реестра из командной строки.
Сразу отметим, что в bat-файлах не требуется заголовок в начале файла по типу того, что используется в reg-файлах: Windows Registry Editor Version 5.00 — здесь можно начинать писать команду с первой же строки.
Для начала приведём основные параметры, используемые при работе с реестром из командной строки:
- /v — имя добавляемого/изменяемого ключа;
- /ve — добавление пустого параметра;
- /t — параметр для указания типа добавляемых/изменяемых данных;
- /d — значение, присваиваемое параметру;
- /s — применение команды ко всем вложенным ключам;
- /f — отключение системных предупреждений при выполнении операции.
Но, конечно, основа любого батника Windows — сама команда. Итак, приведём список команд, используемых для редактирования реестра .
reg add — команда для добавления данных, будь то параметры, ключи или целые ветки.
Допустим, после вирусной атаки нам необходимо вернуть место хранения hosts файла (а также файлов lmhosts, networks и protocols) в директорию %SystemRoot%\System32\drivers\etc\ Для этого нужно выполнить команду:
Если немного применить фантазию и оформить батник, то код будет выглядеть примерно следующим образом:
Вот такой файл, как в архиве, у нас получится: drivers_etc
Остальные примеры в данной статье будем приводить вымышленные, дабы при их тестировании не вносить нежелательных изменений в реестр
reg delete — команда для удаления указанной информации из реестра компьютера.
Чтобы удалить определённый параметр, нам достаточно указать его полный путь после команды удаления. Пример:
Данная команда удалит параметр Save из указанной ветки.
reg copy — команда для копирования параметров и ключей из одной ветки реестра в другую.
Для копирования параметров достаточно после команды последовательно прописать сначала исходную ветку, а потом изменяемую. Например:
Данная команда скопирует всю информацию из ветки User1 в ветку User2.
reg export — команда для экспорта указанных веток реестра в виде *.reg файла на жёсткий диск.
Пример использования:
В результате выполнения данной команды будет создан рег-файл с бэкапом раздела Football.
reg import — команда, позволяющая импортировать данные из reg-файла в реестр системы.
Пример использования:
В результате выполнения данной команды записи из рег-файла будут импортированы в реестр.
reg query — данная команда возвращает значение запрашиваемых параметров и кустов реестра.
Пример использования:
В ответ будет возвращено значение параметра Run в реестре.
reg compare — команда позволяет сравнить две указанные последовательно ветки реестра.
Пример использования:
В ответ команда возвращает одно из значений: 0 — данные веток идентичны; 1 — при выполнении операции произошла ошибка; 2 — данные веток отличаются.
reg load , reg unload , reg save , reg restore — команды, позволяющие бэкапить и восстанавливать нужные ветки системного реестра Windows при помощи файлов *.hiv.
Изменение параметров реестра компьютера в сети
Выше мы рассмотрели достаточно широкие возможности батников в работе с реестром операционной системы. Последний момент, который отметим в контексте данной темы — это редактирование реестра компьютеров в локальной сети.
Для использования в работе с компьютерами в сети доступны все вышеперечисленные команды, единственное ограничение — операции из командной строки над реестром удалённых машин возможно производить только в разделах HKEY_ LOCAL_MACHINE (HKLM), и HKEY_USERS (HKU)
Ну и главное: чтобы работать с реестром компьютера в сети, необходимо в применяемой команде перед разделом указать имя удалённой машины, начинающееся с двойного обратного слеша.
При этом, в командах, обрабатывающих сразу несколько разделов (например, копирование из одного раздела в другой, сравнение веток), одна из веток может располагаться на локальном компьютере, а другая на компьютере в сети.
То есть, для копирования ветки с удалённой машины на наш компьютер необходимо выполнить следующую команду:
Указанная команда скопирует содержимое раздела User с компьютера FRIEND в локальной сети в реестр машины, с которой выполняется команда.
На этом заключительную статью описания общих принципов работы с реестром компьютера и с bat-файлами можно считать завершённой.
Безошибочных вам команд и корректных ключей реестра.
reg add
С этой операцией нельзя добавлять поддеревья. Эта версия reg не запрашивает подтверждение при добавлении подраздела.
Возвращаемые значения для операции reg Add :
- Для REG_EXPAND_SZ типа ключа используйте символ крышки ( ) с % параметром/d.
Примеры
Чтобы добавить ключ хклм\софтваре\мико на удаленном компьютере ABC, введите:
Чтобы добавить запись реестра в хклм\софтваре\мико со значением с именем Data, REG_BINARYтипа и данными fe340ead, введите:
Чтобы добавить многозначную запись реестра в хклм\софтваре\мико со значением MRU, Type REG_MULTI_SZи Data of fax\0mail\0\0, введите:
Чтобы добавить развернутую запись реестра в хклм\софтваре\мико со значением path, REG_EXPAND_SZтипа и данными % systemroot%, введите:
Добавление и удаление разделов реестра
Реестр позволяет более тонко настроить ОС Windows — добавить или отключить в ней какие-либо функции — к примеру, настроить режимы доступа к открытым для сетевого доступа ресурсам или повысить производительность операционной системы и многое другое.
В этом совете мы рассмотрим 2 способа добавления и удаления разделов реестра.
Добавление разделов реестра.
Добавить раздел в реестр можно при помощи Редактора реестра (в графическом режиме). Это можно выполнить следующим образом:
- Откройте Редактор реестра (Как запустить Редактор реестра).
- Перейдите в необходимую ветвь реестра Windows. Нажмите на названии раздела, в котором вы хотите создать свой новый раздел, правой клавишей мыши и выберите в появившемся меню Создать ->Раздел.

- В результате этого действия появится новый раздел (обычно с именем «Новый раздел #1»). Нажав на нем правой клавишей мыши и выбрав в меню «Переименовать» (или просто нажав на клавишу F2), вы сможете дать разделу необходимое имя:
Также добавить раздел в реестр Windows можно используя командную строку.
К примеру, добавим в реестр новый раздел с именем Mynewkey в существующий раздел \HKEY_LOCAL_MACHINE\Software:
reg add \ComputerNameHKLMSoftwareMynewkey
где вместо «ComputerName» укажите имя своего компьютера (его можно узнать нажав правой кнопкой мыши на «Мой компьютер» и выбрав пункт меню «Свойства» и далее вкладку «Имя компьютера»).
В случае удачного выполнения на экране появится надпись — «Операция успешно завершена».
Для удаления раздела из реестра Windows необходимо выполнить следующие действия:
В графическом режиме:
- Войти в Редактор реестра («Пуск» -> «Выполнить» наберите regedit и нажмите «ОК»).
- Выбрать правой кнопкой мыши удаляемый раздел и нажать на пункте «Удалить».
В режиме командной строки выполнить команду: reg delete \ComputerNameHKLMSoftwareMynewkey
Появится предупреждение о удалении раздела из реестра Windows и предложение ввести Y («да») или N («нет»).
Для того, чтобы предупреждение не появлялось, используйте ключ /f.