Обновлено:
Опубликовано:
Что такое реестр Windows простыми словами.
Большинство команд лучше выполнять, запустив командную строку от имени администратора. Для этого найдите ее по ключу cmd — кликните по файлу правой кнопкой мыши — выберите Запустить от имени администратора. Или в Windows 10 правой кнопкой по Пуск — Командная строка (администратор).
Чтение данных
Добавление параметров
Удаление
Редактирование
Импорт
Описание всех команд
Выборка (query)
reg query HKLM\Software\Microsoft
* в данном примере будет выведен на экран список веток, которые находятся в HKLM\Software\Microsoft
Если в пути встречается пробел, необходимо весь путь поместить в кавычки, например:
reg query «HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings»
Чтобы вывести все вложенные ветки, запускаем команду с параметром /s:
reg query «HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings» /s
Добавление (add)
Синтаксис:
reg add <Ключ> /v <Параметр> /t <Тип> /d <Значение>
Например, добавим настройки использования прокси-сервера для браузера Internet Explorer:
reg add «HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings» /v ProxyEnable /t REG_DWORD /d 1
reg add «HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings» /v ProxyServer /t REG_SZ /d «192.168.0.15:3128»
reg add «HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings» /v ProxyOverride /t REG_SZ /d «<local>»
* где первая команда включает использование прокси-сервера; вторая прописывает использовать прокси с IP-адресом 192.168.0.15 и портом 3128; третья указывает не использовать прокси для локальных адресов.
Удаление (delete)
Синтаксис:
reg delete <Ключ> /v <Параметр>
Например, чтобы удалить одну из ранее созданной настройки, вводим следующую команду:
reg delete «HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings» /v ProxyEnable /f
Чтобы удалить всю ветку с ее параметрами и значениями, вводим такую команду:
reg delete «HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings» /va /f
Редактирование
Для редактирования значения нужно выполнить команду на добавление. Если ключ уже существует, команда заменить значение на новое:
reg add «HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings» /v ProxyEnable /t REG_DWORD /d 0 /f
* в данном примере будет изменено значение ключа ProxyEnable на 0 (или создан с таким значением); ключ f указывает на замену значения без вывода подтверждения.
Импорт
Во многих случаях проще выполнить импорт из файла, кликнув по нему дважды. Но, иногда необходимо выполнить импорт из командной строки:
reg import <путь к файлу>
Например:
reg import C:\Temp\import_proxy_settings.reg
* в данном примере мы импортировали настройки из файла import_proxy_settings.reg, который находится в каталоге C:\Temp\.
Краткое описание всех операций
В данной таблице приведены все возможные операции над коандой REG.
Операция | Описание |
---|---|
REG QUERY | Делает выборку ключей, параметров и значений |
REG ADD | Добавляет новую запись (параметр, ключ, значение) |
REG DELETE | Удаляет одну или несколько записей |
REG COPY | Копирует данные из одной ветки в другую |
REG SAVE | Сохраняет ветку со всеми параметрами и значениями в файл |
REG RESTORE | Восстанавливает ветку и данные из файла |
REG LOAD | Загружает данные в указанную ветку |
REG UNLOAD | Выгружает данные из указанной ветки |
REG COMPARE | Сравнивает две ветки |
REG EXPORT | Экспортирует все подразделы и параметры в файл .reg |
REG IMPORT | Импортирует все подразделы и параметры из файла .reg |
REG FLAGS | Показывает и устанавливает флаги для ветки |
Подробное описание всех ключей можно увидеть, введя команду reg <операция> /?
Например: reg add /?
Была ли полезна вам эта инструкция?
Да Нет
Работа с реестром из командной строки¶
Работа с реестром возможна не только через утилиту regedit.exe
, но и напрямую из командной строки с помощью утилиты REG
, она поддерживает все возможности, которые имеет программа regedit.exe
. И более того – она также поддерживает несколько особенных функций. Полезна в том случае когда работа с regedit
по каким либо причинам невозможна.
К тому же это позволяет автоматизировать многие рутинные задачи и встраивать команды в скрипты.
Основной синтаксис¶
В общем виде синтаксис команды REG
выглядит следующим образом:
REG <процедура> [список параметров]
Всего существует одиннадцать процедур, которые способна выполнять директива REG
: QUERY
, ADD
, DELETE
, COPY
, SAVE
, LOAD
, UNLOAD
, RESTORE
, COMPARE
, EXPORT
, IMPORT
. Каждая из этих процедур имеет, как правило, собственный набор параметров.
При вызове из командной строки директива REG
пересылает в окружение операционной системы так называемый код возврата: сообщение об успешном или неуспешном выполнении операции. Если код возврата равен 0
, это означает, что операция была выполнена успешно, если же она завершилась с ошибкой, код возврата будет равен 1
.
Более подробные сведения об использовании утилиты REG
вы можете получить, набрав в командной строке директиву REG /?
, чтобы получить информацию о какой-либо из перечисленных процедур, воспользуйтесь командой REG <процедура> /?
.
Сокращения¶
Для удобства ввода применяются сокращения названий веток реестра. Все сокращения представлены в таблице ниже:
Ветка | Сокращение |
---|---|
HKEY_CLASSES_ROOT |
HKCR |
HKEY_CURRENT_USER |
HKCU |
HKEY_LOCAL_MACHINE |
HKLM |
HKEY_USERS |
HKU |
HKEY_CURRENT_CONFIG |
HKCC |
Вывод содержимого ветвей (QUERY)¶
Команда REG QUERY
отправляет в системный реестр Windows запрос о содержимом ветвей, ключей, подразделов или параметров, и выводит на экран результат обработки этих запросов. В общем виде синтаксис данной команды записывается следующим образом:
REG QUERY [\Компьютер\]Путь [/v Параметр | /ve] [/s]
В составе директивы могут использоваться следующие параметры:
Компьютер
– имя компьютера в локальной сети, если директива предназначена для обработки на удаленном компьютере. В случае, если этот параметр опущен, команда выполняется на локальном компьютере.Путь
– полный путь к целевому разделу реестра в видекорень\ключ\подраздел
, где корень — сокращенное обозначение ветви реестра (HKLM
,HKCU
,HKCR
,HKU
илиHKCC
), аключ\подраздел
— полный путь к искомому подразделу в иерархии реестра, включая все вложенные подразделы./v
– запрос о содержимом указанного раздела реестра.Параметр
– вывести имя и значение запрашиваемого параметра в указанном разделе./ve
– запрос стандартного параметра с пустым именем./s
– вывести список всех подразделов данного раздела реестра вместе с их содержимым.
В качестве примера получим содержимое ветки в которой хранятся закрытые ключи квалифицированных электронных подписей:
reg query "HKLM\SOFTWARE\Crypto Pro\Settings\Users\S-1-5-21-2889205033-3114528180-1522031737-1000\Keys"
Примечание
Лучше вводить путь в кавычках.
Будет выведен примерно такой результат:
HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Settings\Users\S-1-5-21-2889205033-3114528180-1522031737-1000\Keys def.key REG_BINARY 300E0C0C415A415A415F6E6F70617373 HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Settings\Users\S-1-5-21-2889205033-3114528180-1522031737-1000\Keys\2015ZAO_
Как видно из вывода, в реестре компьютера находится всего один контейнер 2015ZAO_
.
Экспорт и импорт веток реестра (EXPORT и IMPORT)¶
Для экспорта используется команда EXPORT
. Синтаксис команды:
REG EXPORT <имя_раздела> <имя_файла> [/y]
имя_раздела
– полное имя подраздела реестра в одном из выбранных корневых разделов.имя_файла
– имя.reg
файла, который получится после экспорта.- Параметр
/y
в конце команды позволяет выполнение замены существующего файла без запроса подтверждения.
Экспортируем контейнеры закрытых ключей на рабочий стол:
reg export "hklm\SOFTWARE\Crypto Pro\Settings\Users\S-1-5-2-1-2889205033-3114528180-1522031737-1000\Keys" C:\Users\Dmitry\Desktop\keys.reg /y Операция успешно завершена.
Вся ветка с контейнерами успешно экспортирована на рабочий стол и сохранена в файле keys.reg
. Теперь импортируем ее обратно.
Примечание
Команда доступна только для выполнения на локальном компьютере.
Для импорта используется команда IMPORT
. Синтаксис команды:
Выполним:
reg import C:\Users\747\Desktop\keys.reg Операция успешно завершена.
Напомню, что для экспорта ветки на другом компьютере, необходимо будет изменить в файле keys.reg
путь к ветке реестра с учетом разрядности операционной системы и SID
текущего пользователя. Подробнее об импорте и экспорте закрытых ключей смотрите в Руководстве по работе с реестром ОС Windows в разделе Где хранятся ключи(закрытый ключ сертификата) в реестре? [1739].
Создание резервной копии реестра (SAVE и RESTORE)¶
Для резервного копирования и восстановления реестра используются следующие команды (типы операций) утилиты REG SAVE
и REG RESTORE
:
REG SAVE <имя_раздела> <имя_файла> [/y] REG RESTORE <имя_раздела> <имя_файла>
Примечание
В данному разделе перечислены основные команды утилиты REG
для получения более подробной информации обратитесь к ресурсам, перечисленным в разделе Дополнительные ссылки
Нужно добавить запись в реестр с помощью BAT файла? Хотите по расписанию править ветки реестра? Нужно исправить значение реестра из командной строки? Нужно поправить реестр компьютера по сети? Легко!
В первую очередь следует знать, что работа с реестром требует прав администратора, так что командную строку запускаем от имени администратора, а BAT файл выполняем с наивысшими привилегиями.
Для работы с удалённым реестром тоже есть ограничения. Из командной строки с реестром удалённых машин можно работать только в разделах HKEY_ LOCAL_MACHINE (HKLM), и HKEY_USERS (HKU).
Параметры команд
- /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 QUERY
- REG ADD
- REG DELETE
- REG COPY
- REG SAVE
- REG RESTORE
- REG LOAD
- REG UNLOAD
- REG COMPARE
- REG EXPORT
- REG IMPORT
- REG FLAGS
Вызов справки:
reg add /?
reg add — добавление и изменение данных в реестре.
REG ADD \\ABC\HKLM\Software\MyCo Добавляет раздел HKLM\Software\MyCo на удаленном компьютере ABC REG ADD HKLM\Software\MyCo /v Data /t REG_BINARY /d fe340ead Добавляет параметр (имя: Data, тип: REG_BINARY, данные: fe340ead) REG ADD HKLM\Software\MyCo /v MRU /t REG_MULTI_SZ /d fax\0mail Добавляет параметр (имя: MRU, тип: REG_MULTI_SZ, данные: fax\0mail\0\0) REG ADD HKLM\Software\MyCo /v Path /t REG_EXPAND_SZ /d ^%systemroot^% Добавляет параметр (имя: Path, тип: REG_EXPAND_SZ, данные: %systemroot%) Примечание. В расширяемой строке используйте знак вставки ( ^ )
Пример BAT файла, который разрешает запуск неподписанных PowerShell скриптов:
@echo off
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\PowerShell" /v "ExecutionPolicy" /t REG_SZ /d "Bypass" /f
reg delete — удаление данных в реестре.
REG DELETE HKLM\Software\MyCo\MyApp\Timeout Удаляет раздел реестра Timeout и все его подразделы и параметры. REG DELETE \\ZODIAC\HKLM\Software\MyCo /v MTU Удаляет параметр реестра MTU из раздела MyCo на компьютере ZODIAC
reg query — считать данные из реестра.
REG QUERY HKLM\Software\Microsoft\ResKit /v Version Отображение значения параметра реестра Version REG QUERY \\ABC\HKLM\Software\Microsoft\ResKit\Nt\Setup /s Отображение всех подразделов и их параметров в разделе реестра Setup удаленного компьютера ABC REG QUERY HKLM\Software\Microsoft\ResKit\Nt\Setup /se # Отображение всех подразделов и параметров со знаком "#" в качестве разделителя для всех параметров типа REG_MULTI_SZ. REG QUERY HKLM /f SYSTEM /t REG_SZ /c /e Отображение раздела, параметра и данных с учетом реестра букв для точных совпадений с "SYSTEM" типа REG_SZ из корневого раздела HKLM REG QUERY HKCU /f 0F /d /t REG_BINARY Отображение раздела, параметра и данных для совпадений с "0F" типа REG_BINARY среди данных в корневом разделе HKCU REG QUERY HKLM\SOFTWARE /ve Отображение параметра и данных для пустого значения (по умолчанию) в разделе HKLM\SOFTWARE
reg copy — копировать данные из одной ветки реестра в другую.
REG COPY HKLM\Software\MyCo\MyApp HKLM\Software\MyCo\SaveMyApp /s Копирует все подразделы и параметры раздела MyApp в раздел SaveMyApp REG COPY \\ZODIAC\HKLM\Software\MyCo HKLM\Software\MyCo1 Копирует все параметры раздела MyCo с компьютера ZODIAC в раздел MyCo1 на локальном компьютере
reg compare — сравнить две ветки реестра.
REG COMPARE HKLM\Software\MyCo\MyApp HKLM\Software\MyCo\SaveMyApp Сравнивает все значения в разделе MyApp со значениями раздела SaveMyApp REG COMPARE HKLM\Software\MyCo HKLM\Software\MyCo1 /v Version Сравнивает значения Version в разделах MyCo и MyCo1 REG COMPARE \\ZODIAC\HKLM\Software\MyCo \\. /s Сравнивает все подразделы и значения параметров в разделе HKLM\Software\MyCo реестра на компьютере ZODIAC с аналогичным разделом на текущем компьютере
reg export — экспорт данных реестра в REG файл.
REG EXPORT HKLM\Software\MyCo\MyApp AppBkUp.reg Экспорт всех подразделов и параметров раздела MyApp в файл AppBkUp.reg
reg import — импорт данных в реестр из REG файла.
REG IMPORT AppBkUp.reg Импорт записей реестра из файла AppBkUp.reg
reg flags— работа с флагами реестра.
REG FLAGS HKLM\Software\MyCo\MyApp QUERY Отображает текущие флаги раздела MyApp. REG FLAGS HKLM\Software\MyCo\MyApp SET DONT_VIRTUALIZE /s Устанавливает флаг DONT_VIRTUALIZE (и удаляет флаги DONT_SILENT_FAIL и RECURSE_FLAG) для раздела MyApp и всех его подразделов
reg save, reg restore, reg load, reg unload — бэкап и восстановление реестра с помощью файлов HIV.
REG SAVE HKLM\Software\MyCo\MyApp AppBkUp.hiv Сохранение куста MyApp в файл AppBkUp.hiv текущей папки REG RESTORE HKLM\Software\Microsoft\ResKit NTRKBkUp.hiv Восстановление файла NTRKBkUp.hiv заменой раздела ResKit REG LOAD HKLM\TempHive TempHive.hiv Загрузка файла TempHive.hiv в раздел HKLM\TempHive REG UNLOAD HKLM\TempHive Выгрузка куста реестра TempHive в HKLM
Did you know this venerable Windows GUI tool has several switches for basic registry editing tasks? See what tweaks Microsoft inserted in regedit for administrative use.
There are a multitude of hidden settings in the Windows operating system that you can unlock with help from several tools designed for Windows registry editing.
There are times when a simple addition to the registry can fix a stubborn problem to save you from having to reinstall an application, or modifying an existing registry key can ward off an emerging threat until Microsoft deploys an official patch to plug the vulnerability.
There are several utilities and techniques to make registry changes. Regedit is one of the oldest tools, but Microsoft provides several more options, including the command-line utilities named reg and regini, PowerShell cmdlets and the Group Policy administrative tool.
Back to basics: What is the Windows registry?
The registry is a Windows OS database feature used to configure and organize the information related to settings for the operating system for the users, installed software and hardware devices. The registry replaced the need to use configuration files in application folders. One benefit to the registry is to reduce issues from faulty program updates that corrupted configuration files.
The registry in the latest versions of Windows has a default of five predefined keys:
- HKEY_CLASSES_ROOT (shortened name HKCR). This root key tells Windows what application to use when you want to open a certain file type.
- HKEY_CURRENT_USER (shortened name HKCU). This root key holds data related to the user currently using the machine, including the user’s folders and screen colors.
- HKEY_LOCAL_MACHINE (shortened name HKLM). Data in this root key relates to configuration information for the computer or any user.
- HKEY_USERS (shortened name HKU). This root key holds all the actively loaded profiles for users on the machine.
- HKEY_CURRENT_CONFIG (shortened name HKCC). This root key holds hardware profile information the machine calls during system startup.
Below each key can be multiple subkeys and values. Not every application requires a subkey.
Oftentimes, Microsoft will direct administrators to mitigate a pressing security issue in Windows by modifying subkeys in the registry by adding new registry values — also called data entries — or modifying or existing ones.
One common Windows registry edit is changing the file association for a certain file type so it opens with a specific application. For example, if you want .html files to open with Google Chrome rather than Microsoft Edge, you can adjust those settings in the file extension area of the Windows registry.
Regedit.exe uses
Regedit is the GUI-based tool built into Windows for editing the Windows registry. To start, type regedit from the Windows run or search box.
Regedit gives a visual representation of the Windows registry, using a dual-pane layout with the root keys and subkeys in the left pane and the values for the selected key or subkey in the right pane. You can import or export registry subkeys and values from the File menu. From the Edit menu, you can create a new entry in the registry, check the permissions for the selection, delete or rename the selection, or copy the key name. You can also run a search from this menu.
Right-clicking in the different sections let you add a new key, modify an existing one or delete a key.
Due to its importance to the Windows operating system, you should export a backup of the registry in case you need to recover from a problem. Use the export function in the regedit File menu to make a backup of the entire registry or just the section you plan to edit. This will create a .reg file. If a problem occurs, you can double-click on that .reg file to restore the original settings.
Microsoft released its first 64-bit Windows Server version with Server 2008 and its first Windows client 64-bit version with Windows 8. The default version of regedit in the latest versions of Windows can open both 64-bit and 32-bit registry keys for backward compatibility.
Command-line options and syntax for regedit.exe
You can regedit with either hotkeys or a mouse, but the utility has several command-line options for basic registry work.
regedit |
filename.reg |
Imports a registry file into the Windows registry. |
regedit |
/c filename.reg |
Create a new registry file and replace existing entries in the Windows registry. |
regedit |
/d registry-subkey |
Removes a subkey from the registry, such as regedit /d HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default. |
regedit |
/e |
Exports the entire registry to a file. You can modify this command to add a filename and specific location on the drive, such as regedit /e c:\AllRegistryEntries.reg. You can export a specific key with the following example command regedit /e keybackup.reg HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Edge. |
regedit |
/l: system |
Specify the location of the SYSTEM.DAT file used in legacy Windows operating systems and typically stored in the C:\Windows folder. This file stores the data kept in the HKEY_LOCAL_MACHINE key in the registry. |
regedit |
/r:user |
Specify the location of the NTUSER.DAT file to use. This is the backup of the HKEY_USERS key in the registry. The file is typically found in the C:\Users\username folder. |
regedit |
/m |
Opens an additional regedit instance, which can be helpful when troubleshooting to compare registry entries. |
regedit |
/s |
Silent mode. Performs an action without stopping for confirmation with dialog box. |
How to edit a registry using the command line
While regedit can be used on the command line, it is not optimal for granular administrative work. To make repeatable changes to the registry in multiple machines with automation, it’s worth looking into switching from regedit to reg, a command-line-based tool included with Windows.
The reg utility offers more expansive functionality to edit subkeys and their values from the command line. Reg is more flexible and works well for a range of administrative scenarios, such as using batch files to correct common issues in client machines and managing the registry on a remote machine.
To use reg, type cmd from the Windows run or search box to open the command prompt.
To show all the parameters for the reg command, enter reg /? from the command prompt. Typing reg <parameter> /? shows the switches available for the parameter and examples of how to use them.
Parameter |
Description |
reg add |
Inserts a new subkey or entry to the registry. The following example shows how to add a key to remote Windows system named RemotePC: reg add \\RemotePC \HKLM\Software\Test |
reg compare |
Runs a comparison of specified registry subkeys or entries. The following example compares all values under the named keys: reg compare HKLM\Software\Test\MyApp HKLM\Software\Test\SaveMyApp. If the results are identical, reg will return a 0 code. If the results are different, reg will return a code of 2. If the operation failed, reg will display a code of 1. |
reg copy |
Copies a registry entry to a specified location on the local or remote computer. Example of use: reg copy \\RemotePC\HKLM\Software\TestKey HKLM\Software\TestKey. The command will copy the TestKey values in the registry from the remote machine named RemotePC to the current machine. |
reg delete |
Removes a subkey or entries from the registry. Example of use: reg delete HKLM\Software\FakeName\TestApp\Settings. This command deletes the Settings registry key, and any subkeys and settings. |
reg export |
Exports named subkeys, entries and values of the local computer into a file. Example of use: reg export HKLM\Software\FakeName\TestApp BackupFile.reg. The command makes a copy of the TestApp key and its subkeys and values in a file name BackupFile.reg. |
reg import |
Copies the contents of a file that contains exported registry subkeys, entries and values into the registry of the local computer. Example of use: reg import BackupFile.reg. The command adds BackupFile.reg registry entries to the machine. |
reg load |
Writes saved subkeys and entries into a different subkey in the registry. Example of use: reg load HKLM\Test TestHive.hiv. This command will load the TestHive.hiv file into the HKLM\Test key. |
reg query |
Returns a list of the next tier of subkeys and entries that are located under a specified subkey in the registry. Example of use: reg query HKLM\Software > C:\regoutput.txt. This command outputs the subkeys of HKLM\Software into a file named regoutput.txt in the C:\ folder. |
reg restore |
Imports subkeys and entries from a file into the registry. Example of use: reg restore HKLM\Software\Microsoft\Test RegBackup.hiv. This command will restore the contents of the RegBackup.hiv file into the Test key. |
reg save |
Exports specified registry subkeys, entries and values into a named file. Examples of use: reg save HKLM\Software\Test\AppTest BackupFile.hiv. The command saves the AppTest hive to the BackupFile.hiv file. |
reg unload |
Removes the registry section loaded by the reg load operation. Example of use: reg unload HKLM\TestHive. The command unloads HKLM\TestHive from the registry. |
Dig Deeper on Microsoft messaging and collaboration
-
How to test the PowerShell pending reboot module
By: Dan Franciscus
-
Windows Registry Editor (regedit)
By: Kinza Yasar
-
How and when to perform a Windows Registry cleanup
By: Stephen Bigelow
-
Increase PowerShell security with help from AppLocker
By: Dan Franciscus
The Registry is a big part of Windows. It’s the database that stores the most important settings that help the operating system and certain applications to work.
You typically use the «Registry Editor» to modify the database when you need to fix an issue, enable a secret feature, or improve a particular functionality. However, you probably may not know that Windows 10, similar to previous versions, includes reg.exe, which is a command-line tool that allows you also to edit the Registry using Command Prompt.
Reg.exe comes built into the operating system, and it includes the same functionalities found in the Registry Editor (GUI). You can even edit entries faster, as you don’t have to manually browse the confusing tree database. And you get the flexibility of being able to implement tweaks in the Registry using scripts.
In this Windows 10 guide, we’ll walk you through the steps to get started using Reg.exe to edit the Registry using Command Prompt.
How to edit the Registry using Command Prompt
Important: If you’re planning to use these commands on your computer, make sure to understand that modifying the Registry is risky, and it can cause irreversible damage to your installation if you don’t do it correctly. It’s recommended to make a full backup of your computer before proceeding.
To run reg.exe, you first need to start Command Prompt as an administrator with the following steps:
- Open Start.
- Search for Command Prompt.
- Right-click the result and select Run as administrator.
- To run the tool, type the following command and press Enter:
reg /?
This command will display all the operation types you can use, including:
- REG Query
- REG Add
- REG Delete
- REG Copy
- REG Save
- REG Load
- REG Unload
- REG Restore
- REG Compare
- REG Export
- REG Import
- REG Flags
Note: You can also use REG followed by the operation type and /? to get more help. For example, REG QUERY /? or REG ADD /?.
You’ll also get the return codes: 0 meaning that the operation completed successfully, and 1 indicating that the operation failed. However, you won’t get any return codes using the Compare switch.
While there a long list of possible command combinations, below we’ll be listing the most useful commands to get started using reg.exe with Command Prompt.
How to add and delete registry entries
Syntax
- Add:
REG ADD KeyName [{/v ValueName | /ve}] [/t Type] [/f]
- Delete:
REG DELETE KeyName [{/v ValueName | /ve | /va}] [/f]
Command description
- KeyName: Defines the path to the subkey or entry. Valid registry key shortcuts include HKLM, HKCU, HKCR, HKU, and HKCC. If you’re trying to edit the registry on a remote computer, you can only use these shortcuts: HKLM and HKU.
- /v ValueName: Specifies the name for the registry key to be added or deleted.
- /ve: Defines if you’re adding or deleting an entry that has a null value.
- /t Type: Specifies the type of registry entries. Here’s the list of valid types:
- REG_SZ
- REG_MULTI_SZ
- REG_DWORD_BIG_ENDIAN
- REG_DWORD
- REG_BINARY
- REG_DWORD_LITTLE_ENDIAN
- REG_LINK
- REG_FULL_RESOURCE_DESCRIPTOR
- REG_EXPAND_SZ
- /f: Adds or deletes registry content without prompting for confirmation.
- /s Separator: Defines the character you use to separate multiple instances of data when the REG_MULTI_SZ data type is specified and you need to add more than one entry. The default separator is \0 if it is not specified.
- /d Data: Specifies the data for the new entry in the registry.
REG ADD examples
To add a subkey named MySubkey under HKEY_LOCAL_MACHINE\Software, use the following example:
REG ADD HKLM\Software\MySubkey
To add a new DWORD (32-bit) value entry named AppInfo with the value of 1, use the following example:
REG ADD HKLM\Software\MySubkey /v AppInfo /t REG_DWORD /d 1
To add a new DWORD (32-bit) value entry named AppInfo with value of 1 on a remote computer, use the following example:
REG ADD \\ComputerName\HKLM\Software\MySubkey /v AppInfo /t REG_DWORD /d 1
To add a new Binary Value entry named Data with data of fe340ead, use the following example:
REG ADD HKLM\Software\MySubkey /v Data /t REG_BINARY /d fe340ead
To add a registry entry with multiple values to MySubkey with a value name of MRU of type REG_MULTI_SZ and data of fax\0mail\2\1, use the following example:
REG ADD HKLM\Software\MySubkey /v MRU /t REG_MULTI_SZ /d fax\0mail\2\1
To add an expanded registry entry to MySubkey with a value name of Path of type REG_EXPAND_SZ and data of %systemroot%, use the following example:
REG ADD HKLM\Software\MySubkey /v Path /t REG_EXPAND_SZ /d ^%systemroot^%
REG DELETE examples
To delete the subkey named MySubkey, use the following example:
REG DELETE HKLM\Software\MySubkey /f
To delete the subkey named MySubkey on a remote computer, use the following example:
REG DELETE \\ComputerName\HKLM\Software\MySubkey /f
To delete the registry entry named AppInfo within the MySubkey subkey, use the following example:
REG DELETE HKLM\Software\MySubkey /v AppInfo /f
To delete only the registry entries that have no value inside the subkey named MySubkey, use the following example:
REG DELETE HKLM\Software\MySubkey /ve
To delete all the registry entries from the MySubkey subkey, use the following example:
REG DELETE HKLM\Software\MySubkey /va
How to copy registry entries
Syntax
- Copy:
REG COPY KeyName1 KeyName2 [/s] [/f]
Command description
- KeyName1: Defines the path to the subkey you want to copy. Valid registry key shortcuts include HKLM, HKCU, HKCR, HKU, and HKCC. If you’re trying to copy the registry on a remote computer, you can only use these shortcuts: HKLM and HKU.
- KeyName2: Defines the path to the subkey destination. Valid registry key shortcuts include HKLM, HKCU, HKCR, HKU, and HKCC. If you’re trying to copy the registry on a remote computer, you can only use these shortcuts: HKLM and HKU.
- /s: Copies all subkeys and entries of a particular subkey.
- /f: Executes the copy command without prompting for confirmation.
REG COPY examples
To copy all subkeys and values under the key MySubkey1 to the key MySubkey2, use the following example:
REG COPY HKLM\Software\MySubkey1 HKLM\Software\MySubkey2 /s
To copy all values under the subkey MySubkey1 from a remote computer to the subkey MySubkey2 on the a new computer, use the following example:
REG COPY \\ComputerName\HKLM\Software\MySubkey1 HKLM\Software\MySubkey2
How to export and import registry entries
Syntax
- Export:
REG EXPORT KeyName FileName [/y]
- Import:
REG IMPORT FileName
Command description
- KeyName: Defines the path to the subkey or entry. Valid registry key shortcuts include HKLM, HKCU, HKCR, HKU, and HKCC.
- FileName: Specifies the name and path of the .reg file to be exported or imported.
- /y: Overwrites the registry content without prompting for confirmation.
REG EXPORT examples
To export all the content within the subkey MySubkey, use the following example:
REG EXPORT HKLM\Software\MySubkey C:\RegKeyBackup.reg
To export and overwrite any existing file, use the following example:
REG EXPORT HKLM\Software\MySubkey C:\RegKeyBackup.reg /y
REG IMPORT examples
To import all the content, including subkeys, entries, and values within the subkey named MySubkey, use the following example:
REG IMPORT C:\RegKeyBackup.reg
How to save and restore registry entries
Syntax
- Save:
REG SAVE KeyName FileName [/y]
- Restore:
REG RESTORE KeyName FileName
Command description
- KeyName: Defines the path to the subkey or entry. Valid registry key shortcuts include HKLM, HKCU, HKCR, HKU, and HKCC. If you’re trying to edit the registry on a remote computer, you can only use these shortcuts: HKLM and HKU.
- FileName: Specifies the name and path of the .hiv file to be saved or restored.
- /y: Overwrites the registry content without prompting for confirmation.
REG SAVE examples
To save a copy of subkeys, entries, and values within the subkey named MySubkey, use the following example:
REG SAVE HKLM\Software\MySubkey C:\RegKeyBackup.hiv
To save and overwrite any existing file, use the following example:
REG SAVE HKLM\Software\MySubkey C:\RegKeyBackup.hiv /y
REG RESTORE examples
To restore all the content, including subkeys, entries, and values within the subkey named MySubkey, use the following example:
REG RESTORE HKLM\Software\MySubkey C:\RegKeyBackup.hiv
Wrapping things up
While you can always use the Registry Editor, you’ll find that it’s sometimes easier and faster to use the reg.exe command-line tool. However, at the end of the day, you will still be editing the Registry, which is dangerous no matter which tool you use.
Also, make sure to double-check your commands before executing, as you can make mistakes. For example, REG ADD HKLM\Sofware\MySubkey is not the same as REG ADD HKLM\Software\MySubkey. A mistake like that might not do anything, or it could wreck your entire system. So be careful.
If you’re wondering, yes, there is a big difference between Export and Save. The command EXPORT exports registry content into a text format that you can easily distribute as a .reg file to other computers.
On the other hand, SAVE saves the registry content into a hive file format (.hiv), which preserves ownership and other important information. You should only use this command if you’re restoring entries to the same computer.
It’s also important to note that while you can use many of these commands on a remote computer, IMPORT and EXPORT only work on a local computer (not over the network).
Although, we’re focusing this guide for Windows 10, keep in mind that reg.exe has been part of the operating system for a long time, as such this should also work on Windows 8.1 and Windows 7.
Do you prefer using the Registry Editor or reg.exe to modify the Windows Registry? Tell us in the comments below.
More Windows 10 resources
For more help articles, coverage, and answers on Windows 10, you can visit the following resources:
- Windows 10 on Windows Central – All you need to know
- Windows 10 help, tips, and tricks
- Windows 10 forums on Windows Central
You can learn about more at Microsoft TechNet
All the latest news, reviews, and guides for Windows and Xbox diehards.
Mauro Huculak is technical writer for WindowsCentral.com. His primary focus is to write comprehensive how-tos to help users get the most out of Windows 10 and its many related technologies. He has an IT background with professional certifications from Microsoft, Cisco, and CompTIA, and he’s a recognized member of the Microsoft MVP community.