Редактирование реестра Windows из командной строки

Редактирование реестра Windows из командной строки

Утилита командной строки REG.EXE присутствует во всех версиях операционных систем семейства Windows и используется для добавления, изменения, удаления и просмотра параметров и ключей реестра.

Формат командной строки:

Операции:

QUERY — поиск и отображение содержимого реестра.
ADD — добавление новых разделов и записей в реестр.
DELETE — удаление разделов и записей из реестра.
EXPORT — экспорт данных реестра в .reg-файл.
IMPORT — импорт данных реестра из .reg-файла.
SAVE — сохранение данных реестра в файл.
RESTORE — восстановление данных реестра из файла.
LOAD — загрузка куста реестра
UNLOAD — выгрузка куста реестра в файл, ранее загруженный операцией LOAD.
COMPARE — сравнение разделов и параметров реестра.
FLAGS — отображение или изменение флагов разделов реестра.
COPY — копирование разделов и записей из реестра.
Код возврата: (за исключением REG COMPARE):
0 – Успешно
1 — С ошибкой

Для каждой операции, задаваемой в командной строке REG, используются свои параметры. Для получения справки по определенной операции введите:

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

1. REG QUERY – отобразить содержимое реестра.

Формат команды:

Параметры командной строки:

имяраздела — может включать имя удаленного компьютера в формате \компьютер\полноеимяраздела . Если имя компьютера не задано, то по умолчанию используется текущий компьютер. На удаленных компьютерах доступны только разделы HKLM и HKU.полноеимяраздела — путь в форме корневойраздел\подраздел. Корневой раздел — [ HKLM | HKCU | HKCR | HKU | HKCC ]. Подраздел — полное имя раздела реестра в указанном корневом_разделе.

/v — Запросы требуемых параметров в указанном разделе реестра. Если не указано, запрашиваются все параметры раздела. Аргумент этого параметра может быть необязательным, только если задан параметр /f. Это указывает на поиск только в именах параметров реестра.
/ve — Запросы параметра по умолчанию или с пустым именем (по умолчанию).
/s — Запрос всех вложенных подразделов и их параметров (аналогично команде dir /s).
/se — Указание разделителя (длиной в 1 знак) в строке данных для REG_MULTI_SZ. По умолчанию в качестве разделителя используется «\0».
/f — Данные или шаблон для поиска. Если строка содержит пробелы, заключайте ее в кавычки. Значение по умолчанию: «*».
/k — Указывает на поиск только в именах разделов.
/d — Указывает на поиск только в данных.
/c — Указывает на учет регистра знаков при поиске. По умолчанию при поиске регистр знаков не учитывается.
/e — Указывает на возврат только точных совпадений. По умолчанию возвращаются все совпадения.
/t — Указывает тип данных параметра реестра. Допустимые типы: REG_SZ, REG_MULTI_SZ, REG_EXPAND_SZ, REG_DWORD, REG_QWORD, REG_BINARY, REG_NONE. По умолчанию будут использоваться все типы.
/z — Подробности: отображение числового кода типа имени значения.

Пример:
REG QUERY HKLM\Software\Microsoft\ResKit /v Version — отобразить значение параметра реестра Version

2. REG ADD — добавить или заменить существующий параметр реестра.

Формат команды:

Параметры командной строки:

имя_раздела — [\< компьютер >]< раздел >. Компьютер — имя удаленного компьютера. Если оно опущено, то по умолчанию используется локальный компьютер. На удаленном компьютере доступны только корневые разделы HKLM и HKU.

Раздел — КОРЕНЬ\< подраздел >. КОРЕНЬ — [ HKLM | HKCU | HKCR | HKU | HKCC ]. Подраздел — полное имя подраздела реестра в указанном корневом разделе.

/v — Имя параметра, добавляемого в выбранный раздел.

/ve — Добавление параметра с пустым именем (по умолчанию) в этот раздел.

/t — Тип данных: [ REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ | REG_DWORD | REG_QWORD|REG_BINARY | REG_NONE ]. Если не указывается, то по умолчанию используется REG_SZ.

/s — Символ, используемый в качестве разделителя данных для параметров типа REG_MULTI_SZ. Если не указан, то в качестве разделителя используется «\0».

/d — Значение, присваиваемое добавляемому параметру реестра.

/f — Принудительно перезаписывает существующую запись реестра без запроса подтверждения.

/reg:32 — Указывает, что к разделу реестра следует обращаться с помощью представления для 32-разрядных приложений.

/reg:64 — Указывает, что к разделу реестра следует обращаться с помощью представления для 64-разрядных приложений.

Пример:

REG ADD HKLM\Software\MyCo /v Data /t REG_BINARY /d fe340ead — Добавляет параметр (имя: Data, тип: REG_BINARY, данные: fe340ead)

3. REG DELETE — удалить существующий параметр реестра.

Формат команды:

Параметры командной строки:

имя_раздела — [\< компьютер >]< раздел >. Компьютер — имя удаленного компьютера. Если оно опущено, то по умолчанию используется локальный компьютер. На удаленном компьютере доступны только корневые разделы HKLM и HKU.

Раздел — КОРЕНЬ\< подраздел >. КОРЕНЬ — [ HKLM | HKCU | HKCR | HKU | HKCC ]. Подраздел — полное имя подраздела реестра в указанном корневом разделе.

имя_параметра — Имя параметра, удаляемого из выбранного раздела. Если оно опущено, удаляются все подразделы и значения указанного раздела.

/ve — Удаляет пустое имя параметра (по умолчанию).

/va — Удаляет все параметры в указанном разделе.

/f — Выполняет принудительное удаление без запроса подтверждения.

/reg:32 — Указывает, что к разделу реестра следует обращаться с помощью представления для 32-разрядных приложений.

/reg:64 — Указывает, что к разделу реестра следует обращаться с помощью представления для 64-разрядных приложений.

Пример:

REG DELETE HKLM\Software\MyCo\MyApp\Timeout — Удаляет раздел реестра Timeout и все его подразделы и параметры.

4. REG EXPORT — экспорт данных реестра в файл.

Формат команды:

Параметры командной строки:

имя_раздела — в виде КОРЕНЬ\< подраздел > (только локальный компьютер). КОРЕНЬ может быть [ HKLM | HKCU | HKCR | HKU | HKCC ]. Подраздел — полное имя подраздела реестра в одном из выбранных корневых разделов.

имя_файла — путь и имя файла в который экспортируются данные реестра.

/y — Выполнение замены существующего файла без запроса подтверждения.

/reg:32 — Указывает, что к разделу реестра следует обращаться с помощью представления для 32-разрядных приложений.

/reg:64 — Указывает, что к разделу реестра следует обращаться с помощью представления для 64-разрядных приложений.

Пример:

REG EXPORT HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run C:\saved\autoruns.reg — экспорт параметров автоматического запуска приложений для всех пользователей системы.

5. REG IMPORT — импорт данных реестра из файла.

Формат команды:

Параметры командной строки:

имя_файла — путь и имя файла с данными для импорта. Импорт возможен только для локального компьютера.

Пример:

REG IMPORT AppBkUp.reg — Импорт записей реестра из файла AppBkUp.reg

6. REG SAVE — сохранение данных реестра в файл.

Формат команды:

Параметры командной строки:

имя_раздела — в виде КОРЕНЬ\<подраздел>. КОРЕНЬ может принимать значения [ HKLM | HKCU | HKCR | HKU | HKCC ]. подраздел — Полное имя подраздела реестра в одном из выбранных корневых разделов.

имя_файла — Путь и имя файла сохраняемых данных. Если путь не указан, то файл создается в текущей папке вызывающего процесса.

/y — Выполнение замены существующего файла без запроса подтверждения.

/reg:32 — Указывает, что к разделу реестра следует обращаться с помощью представления для 32-разрядных приложений.

/reg:64 — Указывает, что к разделу реестра следует обращаться с помощью представления для 64-разрядных приложений.

Пример:

REG SAVE HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run C:\saved\autoruns.hiv — сохранение параметров автоматического запуска приложений для всех пользователей системы в файл autoruns.hiv в каталоге saved диска C:.

7. REG RESTORE — восстановление данных реестра их файла.

Для восстановления данных реестра используется содержимое файла, созданного при выполнении команды REG SAVE

Формат команды:

Параметры командной строки:

имя_раздела — в виде КОРЕНЬ\<подраздел>. КОРЕНЬ может принимать значения [ HKLM | HKCU | HKCR | HKU | HKCC ]. подраздел — Полное имя подраздела реестра в одном из выбранных корневых разделов.

имя_файла — Путь и имя файла, созданного при выполнении команды REG SAVE. Если путь не указан, то поиск файла выполняется в текущей папке вызывающего процесса.

Пример:

REG RESTORE HKLM\Software\Microsoft\ResKit NTRKBkUp.hiv — восстановить содержимое реестра из файла NTRKBkUp.hiv текущего каталога.

Команды REG IMPORT/EXPORT и REG RESTORE/SAVE близки по назначению, однако используют разные форматы данных.

8. REG LOAD — загрузка данных реестра из файла куста.

Для загрузки используется файл куста реестра, полученный с помощью команды REG SAVE, или другой файл куста реестра, например, скопированный с другого компьютера.

Формат командной строки:

Параметры командной строки:

имя_раздела в виде КОРЕНЬ\подраздел (только локальный компьютер). КОРЕНЬ может принимать только [ HKLM | HKU]. подраздел — Имя подраздела реестра, в который загружается файл куста.

имя_файла — путь и имя файла куста, подлежащего загрузке.

Пример:

REG LOAD HKLM\TempHive TempHive.hiv — Загрузка файла TempHive.hiv в раздел HKLM\TempHive

Обычно, команда REG LOAD используется совместно с REG UNLOAD для изменения данных реестра, содержащихся в файле куста.

REG LOAD HKU\TEMP «C:\Documents and Settings\Default User\NTUSER.DAT» — загрузить куст во временный раздел реестра.

REG ADD HKU\TEMP\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /v newUserProfile /t REG_EXPAND_SZ /d «D:\setup.cmd» /f — выполнить запись во временном разделе.

REG UNLOAD HKU\TEMP — выгрузить временный раздел. При этом, выполненные изменения содержимого реестра будут сохранены в файле куста.

Загрузка и выгрузка данных с использованием файлов кустов позволяет редактировать данные реестра поддерживаемого формата, в том числе и ”чужой” операционной системы. В качестве файлов кустов можно использовать файлы из каталога \Windows\System32\config\ сторонней Windows, что позволяет восстановить ее работоспособность в некоторых случаях, требующих изменения параметров реестра, при невозможности загрузки и использования собственного редактора.

9. REG UNLOAD — выгрузка данных из реестра.

Формат командной строки:

Параметры командной строки:

<раздел> Полный путь к разделу реестра в виде: КОРЕНЬ\Подраздел (только для локального компьютера).
<КОРЕНЬ> Возможные значения для корневого раздела: [ HKLM | HKU ].
<подраздел> Имя подраздела выгружаемого куста.

Пример:

REG UNLOAD HKLM\TempHive — Выгружает куст TempHive из HKLM.

10. REG COMPARE — сравнение двух разделов данных реестра.

Формат командной строки:

Параметры командной строки:

имяраздела в виде [\< компьютер >]< раздел >. компьютер имяраздела в виде КОРЕНЬ\подраздел. Если имя раздела 1 не указано, то имя раздела 2 равно имени раздела 1. КОРЕНЬ — [ HKLM | HKCU | HKCR | HKU | HKCC ]. подраздел — Полное имя подраздела реестра в одном из выбранных корневых разделов.

имя_параметра — Имя параметра реестра в выбранном разделе, подлежащее сравнению. Если опущено, то сравниваются все параметры в разделе.

/ve — Сравнение параметров раздела с пустым именем (по умолчанию).

/s — Сравнение всех подразделов и параметров.

/reg:32 — Указывает, что к разделу реестра следует обращаться с помощью представления для 32-разрядных приложений.

/reg:64 — Указывает, что к разделу реестра следует обращаться с помощью представления для 64-разрядных приложений.

Вывод — формат выводимых различий — [/oa | /od | /os | /on]
/oa — Вывод всех различий и совпадений.
/od — Вывод только различий.
/os — Вывод только совпадений.
/on — Без вывода.
Если Вывод не задан, то выводятся только различия.

Код возврата:

0 — Успешно, сравниваемые данные идентичны
1 — При обработке произошла ошибка
2 — Успешно, сравниваемые данные отличаются

Примечание:

Символы в начале каждой строки читаются следующим образом:

= данные FullKey1 равны данным FullKey2
< относится к данным FullKey1, если они отличаются от данных FullKey2 > относится к данным FullKey2, если они отличаются от данных FullKey1

Пример:

REG COMPARE HKLM\Software\MyCo\MyApp HKLM\Software\MyCo\SaveMyApp — Сравнивает все значения в разделе MyApp со значениями раздела SaveMyApp

Результат сравнения: не совпадают

Операция успешно завершена.


11. REG FLAGS — просмотр, установка и сброс флагов реестра.

Формат командной строки:

Параметры командной строки:

имя_раздела — «HKLM\Software»[\подраздел] (ограничено этими разделами только на локальном компьютере). подраздел — полное имя раздела реестра в узле HKLM\Software.

DONT_VIRTUALIZE DONT_SILENT_FAIL RECURSE_FLAG — Используется вместе с параметром SET; флаги, указанные в командной строке, будут установлены, не указанные — удалены.

/reg:32 — Указывает, что к разделу реестра следует обращаться с помощью представления для 32-разрядных приложений.

/reg:64 — Указывает, что к разделу реестра следует обращаться с помощью представления для 64-разрядных приложений.

Пример:

REG FLAGS HKLM\Software query — Отображает текущие флаги раздела HKLM\Software.

Пример отображаемой информации о флагах:

HKEY_LOCAL_MACHINE\Software
REG_KEY_DONT_VIRTUALIZE: CLEAR
REG_KEY_DONT_SILENT_FAIL: CLEAR
REG_KEY_RECURSE_FLAG: CLEAR

Операция успешно завершена.


12. Команда REG COPY — копирование ключей реестра операционной системы Windows
Формат командной строки:

Параметры командной строки:

REG COPY <раздел> Имя раздела в формате: [\Компьютер]Путь

<компьютер> Имя удаленного компьютера, если оно опущено, то по умолчанию считается равным имени локального компьютера. Для удаленных компьютеров доступны только HKLM и HKU.
<путь> Полный путь к разделу реестра в виде: КОРЕНЬ\Подраздел. <КОРЕНЬ> Корневой раздел. Значения: [ HKLM | HKCU | HKCR | HKU | HKCC ].
<подраздел> Полный путь к разделу реестра в выбранном корневом разделе./s Копировать все подразделы и параметры.
/f Принудительное копирование без дополнительного предупреждения.
Командная строка команда REG COPY

Пример:
REG COPY \ZODIAC\HKLM\Software\MyCo HKLM\Software\MyCo1 Копирует все параметры раздела MyCo с компьютера ZODIAC в раздел MyCo1 на локальном компьютере

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.