REG – редактирование реестра Windows в командной строке.

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

1. Описание команды REG.

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

C:\ REG < операция > [Список параметров]

1.2. Операции:

  • QUERY — поиск и отображение содержимого реестра.
  • ADD — добавление новых разделов и записей в реестр.
  • DELETE — удаление разделов и записей из реестра.
  • COPY — копирование разделов и записей из реестра.
  • SAVE — сохранение данных реестра в файл.
  • LOAD — загрузка куста реестра
  • UNLOAD — выгрузка куста реестра в файл, ранее загруженный операцией LOAD.
  • RESTORE — восстановление данных реестра из файла.
  • COMPARE — сравнение разделов и параметров реестра.
  • EXPORT — экспорт данных реестра в .reg-файл.
  • IMPORT — импорт данных реестра из .reg-файла.
  • FLAGS — отображение или изменение флагов разделов реестра.

Код возврата: (за исключением REG COMPARE):

  • 0 – Успешно
  • 1 — С ошибкой

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

C:\ REG < операция > /?

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

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

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

C:\ REG QUERY имя_раздела [/v [имя_параметра] | /ve] [/s] [/f данные [/k] [/d] [/c] [/e]] [/t тип] [/z] [/se разделитель]

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

  • имя_раздела — может включать имя удаленного компьютера в формате \\компьютер\полное_имя_раздела . Если имя компьютера не задано, то по умолчанию используется текущий компьютер. На удаленных компьютерах доступны только разделы 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 — Подробности: отображение числового кода типа имени значения.

2.3. Примеры:

2.3.1. Отобразить справку по использованию:

C:\ reg query /?

2.3.2. Отобразить значение параметра реестра Version:

C:\ REG QUERY HKLM\Software\Microsoft\ResKit /v Version

2.3.3. Отобразить содержимое раздела автоматически запускаемых программ для всех пользователей удаленного компьютера SERVER:

C:\ reg query \\SERVER\HKLM\Software\Microsoft\Windows\CurrentVersion\Run

Для успешного выполнения команды необходимо наличие соответствующих прав пользователя по отношению к удаленной системе и на удаленном компьютере должна быть запущена служба RemoteRegistry (Удаленный реестр).

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

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
RTHDVCPL REG_SZ "C:\Program Files\Realtek\Audio\HDA\RtkNGUI64.exe" -s
Acronis Scheduler2 Service REG_SZ "C:\Program Files (x86)\Common Files\Acronis\Schedule2\schedhlp.exe"
COMODO Internet Security REG_SZ C:\Program Files\COMODO\COMODO Internet Security\cistray.exe
StartCN REG_SZ "C:\Program Files\AMD\CNext\CNext\cnext.exe" atlogon

2.3.4. Отобразить все подразделы и параметры со знаком «#» в качестве разделителя для всех параметров типа REG_MULTI_SZ:

C:\ REG QUERY HKLM\Software\Microsoft\ResKit\Nt\Setup /se #

2.3.5. Отобразить раздел, параметр и данные с учетом реестра букв для точных совпадений с «SYSTEM» типа REG_SZ из корневого раздела HKLM:

C:\ REG QUERY HKLM /f SYSTEM /t REG_SZ /c /e

2.3.6. Отобразить раздел, параметры и данные для совпадений с «0F» типа REG_BINARY среди данных в корневом разделе HKCU:

C:\ REG QUERY HKCU /f 0F /d /t REG_BINARY

2.3.7. Отобразить параметр и данные для пустого значения (по умолчанию) в разделе HKLM\SOFTWARE:

C:\ REG QUERY HKLM\SOFTWARE /ve

2.3.8. Искать в данных строку Adapter в разделе реестра с параметрами безопасного режима загрузки Windows:

C:\ reg query hklm\system\currentcontrolset\control\safeboot /s /f "Adapter" /d

2.3.9. Отобразить расположение папки ”Главное меню” текущего пользователя:

C:\ REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Start Menu"

2.3.10. Отобразить параметры командной строки текущего пользователя:

C:\ REG QUERY HKCU\Console\

2.3.11. Отобразить параметр, определяющий цвет фона и цвет символов окна командной строки текущего пользователя:

C:\ REG QUERY HKCU\Console /v ScreenColors

2.3.12. Отобразить содержимое параметра реестра с названием Windows:

C:\Reg Query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /V ProductName

Пример отображаемой информации при выполнении команды в среде Windows 10 Pro:

ProductName REG_SZ Windows 10 Pro

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

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

C:\ REG ADD <имя_раздела> [/v <имя_параметра> | /ve] [/t <тип>] [/s <разделитель>] [/d данные>] [/f] [/reg:32 | /reg:64]

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

  • имя_раздела — [\\< компьютер >\]< раздел >. Компьютер — имя удаленного компьютера. Если оно опущено, то по умолчанию используется локальный компьютер. На удаленном компьютере доступны только корневые разделы 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-разрядных приложений.

3.3. Примеры :

3.3.1. Отобразить подсказку по использованию команды:

C:\ reg add /?

3.3.2. Добавляет раздел HKLM\Software\MyCo на удаленном компьютере SERVER:

C:\ REG ADD \\SERVER\HKLM\Software\MyCo

3.3.3. Добавляет параметр (имя: Data, тип: REG_BINARY, данные: fe340ead):

C:\ REG ADD HKLM\Software\MyCo /v Data /t REG_BINARY /d fe340ead

3.3.4. Добавляет параметр (имя: MRU, тип: REG_MULTI_SZ, данные: fax\0mail\0\0):

C:\ REG ADD HKLM\Software\MyCo /v MRU /t REG_MULTI_SZ /d fax\0mail

3.3.5. Добавляет параметр (имя: Path, тип: REG_EXPAND_SZ, данные: %systemroot%):

C:\ REG ADD HKLM\Software\MyCo /v Path /t REG_EXPAND_SZ /d ^%systemroot^%

3.3.6. Изменить настройки консоли текущего пользователя – черные буквы на белом фоне:

C:\ REG add HKCU\Console /v ScreenColors /t REG_DWORD /d 0xf0

3.3.7. Для записи данных в уже существующий параметр реестра потребуется подтверждение на запрос:

Параметр ScreenColors уже существует, заменить (Y - да/N - нет)?

3.3.8. Для подавления запроса необходимо использовать параметр /f:

C:\ REG add HKCU\Console /v ScreenColors /t REG_DWORD /d 0xf0 /f

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

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

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

C:\ REG DELETE <имя_раздела> [/v <имя_параметра> | /ve | /va] [/f] [/reg:32 | /reg:64]

4.2. Параметры:

  • имя_раздела — [\\< компьютер >\]< раздел >. Компьютер — имя удаленного компьютера. Если оно опущено, то по умолчанию используется локальный компьютер. На удаленном компьютере доступны только корневые разделы HKLM и HKU.
  • Раздел — КОРЕНЬ\< подраздел >. КОРЕНЬ — [ HKLM | HKCU | HKCR | HKU | HKCC ]. Подраздел — полное имя подраздела реестра в указанном корневом разделе.
  • имя_параметра — Имя параметра, удаляемого из выбранного раздела. Если оно опущено, удаляются все подразделы и значения указанного раздела.
  • /ve — Удаляет пустое имя параметра (по умолчанию).
  • /va — Удаляет все параметры в указанном разделе.
  • /f — Выполняет принудительное удаление без запроса подтверждения.
  • /reg:32 — Указывает, что к разделу реестра следует обращаться с помощью представления для 32-разрядных приложений.
  • /reg:64 — Указывает, что к разделу реестра следует обращаться с помощью представления для 64-разрядных приложений.

4.3. Примеры:

4.3.1. Удаляет раздел реестра Timeout и все его подразделы и параметры:

C:\ REG DELETE HKLM\Software\MyCo\MyApp\Timeout

4.3.2. Удаляет параметр реестра MTU из раздела MyCo на компьютере SERVER:

C:\ REG DELETE \\SERVER\HKLM\Software\MyCo /v MTU

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

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

C:\ REG EXPORT <имя_раздела> <имя_файла> [/y] [/reg:32 | /reg:64]

5.2. Параметры:

  • имя_раздела — в виде КОРЕНЬ\< подраздел > (только локальный компьютер). КОРЕНЬ может быть [ HKLM | HKCU | HKCR | HKU | HKCC ]. Подраздел — полное имя подраздела реестра в одном из выбранных корневых разделов.
  • имя_файла — путь и имя файла в который экспортируются данные реестра.
  • /y — Выполнение замены существующего файла без запроса подтверждения.
  • /reg:32 — Указывает, что к разделу реестра следует обращаться с помощью представления для 32-разрядных приложений.
  • /reg:64 — Указывает, что к разделу реестра следует обращаться с помощью представления для 64-разрядных приложений.

5.3. Примеры:

5.3.1. Экспорт всех подразделов и параметров раздела MyApp в файл AppBkUp.reg:

C:\ REG EXPORT HKLM\Software\MyCo\MyApp AppBkUp.reg

5.3.2. Экспорт параметров автоматического запуска приложений для всех пользователей системы:

C:\ REG EXPORT HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run C:\saved\autoruns.reg

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

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

REG IMPORT <имя_файла> [/reg:32 | /reg:64]

6.2. Параметры:

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

6.3 Примеры:

6.3.1. Импорт записей реестра из файла AppBkUp.reg:

C:\ REG IMPORT AppBkUp.reg

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

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

C:\ REG SAVE <имя_раздела> <имя_файла> [/y] [/reg:32 | /reg:64]

7.2. Параметры:

  • имя_раздела — в виде КОРЕНЬ\<подраздел>. КОРЕНЬ может принимать значения [ HKLM | HKCU | HKCR | HKU | HKCC ]. подраздел — Полное имя подраздела реестра в одном из выбранных корневых разделов.
  • имя_файла — Путь и имя файла сохраняемых данных. Если путь не указан, то файл создается в текущей папке вызывающего процесса.
  • /y — Выполнение замены существующего файла без запроса подтверждения.
  • /reg:32 — Указывает, что к разделу реестра следует обращаться с помощью представления для 32-разрядных приложений.
  • /reg:64 — Указывает, что к разделу реестра следует обращаться с помощью представления для 64-разрядных приложений.

7.3. Примеры:

7.3.1. Сохранение раздела реестра MyApp в файл AppBkUp.hiv текущей папки:

REG SAVE HKLM\Software\MyCo\MyApp AppBkUp.hiv

7.3.2. Сохранение параметров автоматического запуска приложений для всех пользователей системы в файл autoruns.hiv в каталоге saved диска C:

REG SAVE HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run C:\saved\autoruns.hiv

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

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

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

C:\ REG RESTORE <имя_раздела> <имя_файла> [/y] [/reg:32 | /reg:64]

8.2. Параметры:

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

8.3. Пример:

8.3.1. Восстановить содержимое реестра из файла NTRKBkUp.hiv текущего каталога:

C:\ REG RESTORE HKLM\Software\Microsoft\ResKit NTRKBkUp.hiv

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

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

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

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

REG LOAD <имя_раздела> <имя_файла> [/reg:32 | /reg:64]

9.2. Параметры:

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

9.3. Примеры:

9.3.1. Загрузка файла TempHive.hiv в раздел HKLM\TempHive:

C:\ REG LOAD HKLM\TempHive TempHive.hiv

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

9.3.2. Загрузить куст во временный раздел реестра:

C:\ REG LOAD HKU\TEMP "C:\Documents and Settings\Default User\NTUSER.DAT"

9.3.3. Выполнить запись во временном разделе:

C:\ REG ADD HKU\TEMP\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /v newUserProfile /t REG_EXPAND_SZ /d "D:\setup.cmd" /f

9.3.4. Выгрузить временный раздел:

C:\ REG UNLOAD HKU\TEMP 

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

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

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

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

C:\ REG COMPARE <имя_раздела_1> <имя_раздела_2> [/v <имя_параметра> | /ve] [вывод] [/s] [/reg:32 | /reg:64]

10.2. Параметры:

  • имя_раздела в виде [\\< компьютер >\]< раздел >. компьютер имя_раздела в виде КОРЕНЬ\подраздел. Если имя раздела 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

10.3. Примеры:

10.3..1. Сравнивает все значения в разделе MyApp со значениями раздела SaveMyApp:

C:\ REG COMPARE HKLM\Software\MyCo\MyApp HKLM\Software\MyCo\SaveMyApp

10.3.2. Сравнивает значения Version в разделах MyCo и MyCo1:

C:\ REG COMPARE HKLM\Software\MyCo HKLM\Software\MyCo1 /v Version

10.3.3. Сравнивает отличия параметров для безопасного режима загрузки и безопасного режима с поддержкой сети:

C:\ reg compare HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network /s

10.3.4. Сравнивает все подразделы и значения параметров в разделе HKLM\Software\MyCo реестра на компьютере SERVER с аналогичным разделом на текущем компьютере:

C:\ REG COMPARE \\SERVER\HKLM\Software\MyCo \\. /s - 

10.3.5. Сравнивает список автоматически стартующих программ для всех пользователей локального компьютера и удаленного компьютера с IP адресом 192.168.1.1:

C:\ reg compare HKLM\Software\Microsoft\Windows\CurrentVersion\Run \\192.168.1.1\HKLM\Software\Microsoft\Windows\CurrentVersion\Run

Для успешного выполнения команды на удаленном компьютере должна быть запущена служба ”Удаленный реестр”.

10.3.6. Пример отображаемой информации с результатами сравнения:

< Параметр: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run WindowsDefender REG_EXPAND_SZ "%ProgramFiles%\Windows Defender\MSASCuiL.exe"

> Параметр: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run RTHDVCPL REG_SZ "C:\Program Files\Realtek\Audio\HDA\RtkNGUI64.exe" -s

> Параметр: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run Acronis Scheduler2 Service REG_SZ "C:\Program Files (x86)\Common Files\Acronis\Schedule2\schedhlp.exe"

> Параметр: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run COMODO Internet Security REG_SZ C:\Program Files\COMODO\COMODO Internet Security\cistray.exe

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

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

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

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

C:\ REG FLAGS имя_раздела [QUERY | [/reg:32 | /reg:64]
C:\ REG FLAGS имя_раздела SET [DONT_VIRTUALIZE] [DONT_SILENT_FAIL] [RECURSE_FLAG]] [/reg:32 | /reg:64]

11.2. Параметры:

  • имя_раздела — «HKLM\Software»[\подраздел] (ограничено этими разделами только на локальном компьютере). подраздел — полное имя раздела реестра в узле HKLM\Software.
  • DONT_VIRTUALIZE DONT_SILENT_FAIL RECURSE_FLAG — Используется вместе с параметром SET; флаги, указанные в командной строке, будут установлены, не указанные — удалены.
  • /reg:32 — Указывает, что к разделу реестра следует обращаться с помощью представления для 32-разрядных приложений.
  • /reg:64 — Указывает, что к разделу реестра следует обращаться с помощью представления для 64-разрядных приложений.

11.3. Примеры:

11.3.1. Отображает текущие флаги раздела HKLM\Software:

C:\ reg flags HKLM\Software query

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

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

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

11.3.2. Устанавливает флаг DONT_VIRTUALIZE (и удаляет флаги DONT_SILENT_FAIL и RECURSE_FLAG) для раздела MyApp и всех его подразделов:

C:\ REG FLAGS HKLM\Software\MyCo\MyApp SET DONT_VIRTUALIZE /s