Редактирование реестра 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
Adds a new subkey or entry to the registry.
Syntax
Parameters
Parameter | Description |
---|---|
Specifies the full path of the subkey or entry to be added. To specify a remote computer, include the computer name (in the format \\ \ ) as part of the keyname. Omitting \\ \ causes the operation to default to the local computer. The keyname must include a valid root key. Valid root keys for the local computer are: HKLM, HKCU, HKCR, HKU, and HKCC. If a remote computer is specified, valid root keys are: HKLM and HKU. If the registry key name contains a space, enclose the key name in quotes. | |
/v | Specifies the name of the add registry entry. |
/ve | Specifies that the added registry entry has a null value. |
/t | Specifies the type for the registry entry. Type must be one of the following:
|
/s | Specifies the character to be used to separate multiple instances of data when the REG_MULTI_SZ data type is specified and more than one entry is listed. If not specified, the default separator is \0. |
/d | Specifies the data for the new registry entry. |
/f | Adds the registry entry without prompting for confirmation. |
/? | Displays help at the command prompt. |
Remarks
Subtrees can’t be added with this operation. This version of reg doesn’t ask for confirmation when adding a subkey.
The return values for the reg add operation are:
Value | Description |
---|---|
0 | Success |
1 | Failure |
- For the REG_EXPAND_SZ key type, use the caret symbol ( ^ ) with % inside the /d parameter.
Examples
To add the key HKLM\Software\MyCo on remote computer ABC, type:
To add a registry entry to HKLM\Software\MyCo with a value named Data, the type REG_BINARY, and data of fe340ead, type:
To add a multi-valued registry entry to HKLM\Software\MyCo with a value named MRU, the type REG_MULTI_SZ, and data of fax\0mail\0\0, type:
To add an expanded registry entry to HKLM\Software\MyCo with a value named Path, the type REG_EXPAND_SZ, and data of %systemroot%, type:
Windows bat reg add
Сообщения: 10
Благодарности: 2
Тип данных указывается ключом /t
Для типа данных REG_EXPAND_SZ нужно предварять знаком ^ знак % в переменных окружения, например:
Это сообщение посчитали полезным следующие участники:
Конфигурация компьютера |
Материнская плата: ASUS P8Z77-V LE PLUS |
HDD: Samsung SSD 850 PRO 256 Гб, WD Green WD20EZRX 2 Тб |
Звук: Realtek ALC889 HD Audio |
CD/DVD: ASUS DRW-24B5ST |
ОС: Windows 8.1 Pro x64 |
Прочее: корпус: Fractal Design Define R4 |
Это сообщение посчитали полезным следующие участники:
Конфигурация компьютера |
Материнская плата: MSI MS-7250 |
HDD: SATA-II 250Gb SeagateBarracuda 7200.10 |
Звук: Realtek High Definition Audio |
Монитор: SyncMaster 2032BW |
Индекс производительности Windows: 5,5 |
Корневой радел. Значения [ HKLM | HKCU | HKCR | HKU | HKCC ]. |