Работа с реестром Windows из командной строки или BAT файла

Работа с реестром Windows из командной строки или BAT файла

Работа с реестром Windows из командной строки или BAT файла

Нужно добавить запись в реестр с помощью BAT файла? Хотите по расписанию править ветки реестра? Нужно исправить значение реестра из командной строки? Нужно поправить реестр компьютера по сети? Легко!

В первую очередь следует знать, что работа с реестром требует прав администратора, так что командную строку запускаем от имени администратора, а BAT файл выполняем с наивысшими привилегиями.

Параметры команд

  • 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 \ABCHKLMSoftwareMyCo
Добавляет раздел HKLMSoftwareMyCo на удаленном компьютере ABC

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

REG ADD HKLMSoftwareMyCo /v MRU /t REG_MULTI_SZ /d faxmail
Добавляет параметр (имя: MRU, тип: REG_MULTI_SZ, данные: faxmail)

REG ADD HKLMSoftwareMyCo /v Path /t REG_EXPAND_SZ /d ^%systemroot^%
Добавляет параметр (имя: Path, тип: REG_EXPAND_SZ, данные: %systemroot%)
Примечание. В расширяемой строке используйте знак вставки ( ^ )

Пример BAT файла, который разрешает запуск неподписанных PowerShell скриптов:

reg delete — удаление данных в реестре.

REG DELETE HKLMSoftwareMyCoMyAppTimeout
Удаляет раздел реестра Timeout и все его подразделы и параметры.

REG DELETE \ZODIACHKLMSoftwareMyCo /v MTU
Удаляет параметр реестра MTU из раздела MyCo на компьютере ZODIAC

reg query — считать данные из реестра.

REG QUERY HKLMSoftwareMicrosoftResKit /v Version
Отображение значения параметра реестра Version

REG QUERY \ABCHKLMSoftwareMicrosoftResKitNtSetup /s
Отображение всех подразделов и их параметров в разделе реестра Setup
  удаленного компьютера ABC

REG QUERY HKLMSoftwareMicrosoftResKitNtSetup /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 HKLMSOFTWARE /ve
Отображение параметра и данных для пустого значения (по умолчанию)
  в разделе HKLMSOFTWARE

reg copy — копировать данные из одной ветки реестра в другую.

REG COPY HKLMSoftwareMyCoMyApp HKLMSoftwareMyCoSaveMyApp /s
Копирует все подразделы и параметры раздела MyApp в раздел SaveMyApp

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

reg compare — сравнить две ветки реестра.

REG COMPARE HKLMSoftwareMyCoMyApp HKLMSoftwareMyCoSaveMyApp
Сравнивает все значения в разделе MyApp со значениями раздела SaveMyApp

REG COMPARE HKLMSoftwareMyCo HKLMSoftwareMyCo1 /v Version
Сравнивает значения Version в разделах MyCo и MyCo1

REG COMPARE \ZODIACHKLMSoftwareMyCo \. /s
Сравнивает все подразделы и значения параметров в разделе
  HKLMSoftwareMyCo реестра на компьютере ZODIAC с аналогичным разделом
  на текущем компьютере

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

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

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

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

reg flags— работа с флагами реестра.

REG FLAGS HKLMSoftwareMyCoMyApp QUERY
Отображает текущие флаги раздела MyApp.

REG FLAGS HKLMSoftwareMyCoMyApp SET DONT_VIRTUALIZE /s
Устанавливает флаг DONT_VIRTUALIZE
  (и удаляет флаги DONT_SILENT_FAIL и RECURSE_FLAG) для раздела MyApp
и всех его подразделов

reg save, reg restore, reg load, reg unload — бэкап и восстановление реестра с помощью файлов HIV.

REG SAVE HKLMSoftwareMyCoMyApp AppBkUp.hiv
Сохранение куста MyApp в файл AppBkUp.hiv текущей папки

REG RESTORE HKLMSoftwareMicrosoftResKit NTRKBkUp.hiv
Восстановление файла NTRKBkUp.hiv заменой раздела ResKit

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

REG UNLOAD HKLMTempHive
Выгрузка куста реестра TempHive в HKLM

Работа с реестром из командной строки¶

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

К тому же это позволяет автоматизировать многие рутинные задачи и встраивать команды в скрипты.

Основной синтаксис¶

В общем виде синтаксис команды выглядит следующим образом:

Всего существует одиннадцать процедур, которые способна выполнять директива : , , , , , , , , , , . Каждая из этих процедур имеет, как правило, собственный набор параметров.

:/>  Командные файлы Windows

При вызове из командной строки директива пересылает в окружение операционной системы так называемый код возврата: сообщение об успешном или неуспешном выполнении операции. Если код возврата равен , это означает, что операция была выполнена успешно, если же она завершилась с ошибкой, код возврата будет равен .

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

Сокращения¶

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

Вывод содержимого ветвей (QUERY)¶

Команда отправляет в системный реестр Windows запрос о содержимом ветвей, ключей, подразделов или параметров, и выводит на экран результат обработки этих запросов. В общем виде синтаксис данной команды записывается следующим образом:

В составе директивы могут использоваться следующие параметры:

  • – имя компьютера в локальной сети, если директива предназначена для обработки на удаленном компьютере. В случае, если этот параметр опущен, команда выполняется на локальном компьютере.
  • – полный путь к целевому разделу реестра в виде , где корень – сокращенное обозначение ветви реестра (, , , или ), а – полный путь к искомому подразделу в иерархии реестра, включая все вложенные подразделы.
  • – запрос о содержимом указанного раздела реестра.
  • – вывести имя и значение запрашиваемого параметра в указанном разделе.
  • – запрос стандартного параметра с пустым именем.
  • – вывести список всех подразделов данного раздела реестра вместе с их содержимым.

В качестве примера получим содержимое ветки в которой хранятся закрытые ключи квалифицированных электронных подписей:

Лучше вводить путь в кавычках.

Будет выведен примерно такой результат:

\ \\

\ \\

Как видно из вывода, в реестре компьютера находится всего один контейнер .

Экспорт и импорт веток реестра (EXPORT и IMPORT)¶

Для экспорта используется команда . Синтаксис команды:

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

Экспортируем контейнеры закрытых ключей на рабочий стол:

Вся ветка с контейнерами успешно экспортирована на рабочий стол и сохранена в файле . Теперь импортируем ее обратно.

Команда доступна только для выполнения на локальном компьютере.

Для импорта используется команда . Синтаксис команды:

Создание резервной копии реестра (SAVE и RESTORE)¶

Для резервного копирования и восстановления реестра используются следующие команды (типы операций) утилиты и :

В данному разделе перечислены основные команды утилиты для получения более подробной информации обратитесь к ресурсам, перечисленным в разделе Дополнительные ссылки

Что такое реестр Windows простыми словами.

Большинство команд лучше выполнять, запустив командную строку от имени администратора. Для этого найдите ее по ключу cmd – кликните по файлу правой кнопкой мыши – выберите Запустить от имени администратора. Или в Windows 10 правой кнопкой по Пуск – Командная строка (администратор).

Чтение данных
Добавление параметров
Удаление
Редактирование
Импорт
Описание всех команд

Выборка (query)

* в данном примере будет выведен на экран список веток, которые находятся в HKLMSoftwareMicrosoft

Если в пути встречается пробел, необходимо весь путь поместить в кавычки, например:

reg query “HKCUSoftwareMicrosoftWindowsCurrentVersionInternet Settings”

Чтобы вывести все вложенные ветки, запускаем команду с параметром /s:

reg query “HKCUSoftwareMicrosoftWindowsCurrentVersionInternet Settings” /s

Добавление (add)

Например, добавим настройки использования прокси-сервера для браузера Internet Explorer:

reg add “HKCUSoftwareMicrosoftWindowsCurrentVersionInternet Settings” /v ProxyServer /t REG_SZ /d “192.168.0.15:3128”

Удаление (delete)

Например, чтобы удалить одну из ранее созданной настройки, вводим следующую команду:

reg delete “HKCUSoftwareMicrosoftWindowsCurrentVersionInternet Settings” /v ProxyEnable /f

Чтобы удалить всю ветку с ее параметрами и значениями, вводим такую команду:

reg delete “HKCUSoftwareMicrosoftWindowsCurrentVersionInternet Settings” /va /f

Редактирование

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

reg add “HKCUSoftwareMicrosoftWindowsCurrentVersionInternet Settings” /v ProxyEnable /t REG_DWORD /d 0 /f

* в данном примере будет изменено значение ключа ProxyEnable на 0 (или создан с таким значением); ключ f указывает на замену значения без вывода подтверждения.

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

reg import C:Tempimport_proxy_settings.reg

* в данном примере мы импортировали настройки из файла import_proxy_settings.reg, который находится в каталоге C:Temp.

Краткое описание всех операций

В данной таблице приведены все возможные операции над коандой REG.

Работа с реестром Windows из командной строки или BAT файла

Была ли полезна вам эта инструкция?

В общем виде синтаксис команды REG выглядит следующим образом:

Всего существует одиннадцать процедур, которые способна выполнять директива REG: QUERY, ADD, DELETE, COPY, SAVE, LOAD, UNLOAD, RESTORE, COMPARE, EXPORT, IMPORT. Каждая из этих процедур имеет, как правило, собственный набор параметров. В настоящей главе мы подробно изучим каждую из них.

:/>  Скрытые знаки на клавиатуре компьютера

REG QUERY

Команда REG QUERY отправляет в системный реестр Windows запрос о содержимом ветвей, ключей, подразделов или параметров, и выводит на экран результат обработки этих запросов. В общем виде синтаксис данной команды записывается следующим образом:

  • Компьютер – имя компьютера в локальной сети, если директива предназначена для обработки на удаленном компьютере. В случае, если этот параметр опущен, команда выполняется на локальном компьютере.
  • Путь – полный путь к целевому разделу реестра в виде кореньключподраздел, где корень – сокращенное обозначение ветви реестра (HKLM, HKCU, HKCR, HKU или HKCC), а ключподраздел – полный путь к искомому подразделу в иерархии реестра, включая все вложенные подразделы.
  • /v – запрос о содержимом указанного раздела реестра.
  • Параметр – вывести имя и значение запрашиваемого параметра в указанном разделе.
  • /ve – запрос стандартного параметра с пустым именем.
  • /s – вывести список всех подразделов данного раздела реестра вместе с их содержимым.

REG QUERY HKCCSoftvareMicrosoftwindowsCurrentVersionInternet Settings /v ProxyEnable

Показывает имя и значение параметра ProxyEnable в разделе реестра HKCCSoftvareMicrosoftwindowsCurrentVersionInternet Settings

REG QUERY HKLMSoftwareMicrosoftOffice /s

Показать список всех подразделов и содержащихся в них параметров для раздела реестра HKLMSoftwareMicrosoftOffice.

REG ADD

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

  • /ve – добавить пустой параметр (параметр по умолчанию) в указанный раздел.
  • /f – перезаписывать уже существующие в реестре параметры и значения, замещая их указанными в командной строке, без демонстрации предупреждений.

REG ADD \NetCompHKLMSoftwareNewSubkey

Добавляет подраздел NewSubkey в раздел реестра HKLMSoftware на удаленном компьютере NetComp.

REG ADD HKLMSoftwareNewSubkey /v Value1 /t REG_SZ /d ac23456ffed

Добавляет в подраздел локального реестра HKLMSoftwareNewSubkey параметр с именем Value1 типа REG_SZ, и присваивает ему значение ac23456ffed.

REG ADD HKLMSoftwareNewSubkey /v Path /t REG_EXPAND_SZ /d %%systemroot%%System32

Добавляет в подраздел локального реестра HKLMSoftwareNewSubkey параметр с именем Path типа REG_EXPAND_SZ, и присваивает ему значение %systemroot%System32

В случае записи в командной строке для директивы REG стандартных переменных окружения Windows, необходимо использовать для их выделения дополнительный символ «%» (%%переменная%%)

REG DELETE

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

  • Компьютер – имя компьютера в локальной сети, если директива предназначена для обработки на удаленном компьютере. В случае, если этот параметр опущен, команда выполняется на локальном компьютере. На удаленном компьютере возможно обращаться только к разделам реестра HKLM и HKU.
  • Путь – полный путь к целевому разделу реестра в виде кореньключподраздел, где корень – сокращенное обозначение ветви реестра (HKLM, HKCU, HKCR, HKU или HKCC), а ключподраздел – полный путь к искомому подразделу в иерархии реестра, включая все вложенные подразделы.
  • /ve – удалять все безымянные параметры, содержащиеся в данном разделе.
  • /va – запрашивать все параметры из данного раздела реестра.
  • /f – выполнять удаление без дополнительного предупреждения.

REG DELETE HKLMSoftwareNewSubkey

Удаляет подраздел NewSubkey вместе со всем его содержимым из раздела реестра HKLMSoftware.

REG DELETE HKLMSoftwareProg /v PARAM /f

Без предварительного подтверждения удаляет параметр PARAM из раздела реестра HKLMSoftwareProg.

REG COPY

С использованием команды REG COPY можно скопировать разделы, подразделы и параметры из одного раздела реестра в другой, как на локальном компьютере, так и по сети. Общий синтаксис этой директивы выглядит следующим образом:

  • /s – копировать все подразделы и параметры, содержащиеся в указанном разделе.
  • /f – выполнять копирование без предварительного предупреждения. Если в целевом разделе уже присутствуют подразделы и параметры, имена которых совпадают с копируемыми, они будут перезаписаны.

REG COPY HKLMSoftwareProgram HKLMSoftwareRestore /s

Скопировать все содержимое раздела реестра HKLMSoftwareProgram в раздел HKLMSoftwareRestore.

REG COPY \SERVERHKLMSoftwareMicrosoft HKLMSoftwareServer

Скопировать все параметры раздела реестра HKLMSoftwareMicrosoft с удаленного компьютера Server в раздел HKLMSoftwareServer локального компьютера.

REG SAVE

Команда REG SAVE позволяет сохранить выбранный ключ или подраздел реестра вместе с хранящимися в нем параметрами на диск в файл с расширением .hiv, который впоследствии может быть импортирован в реестр. Стандартный формат записи этой команды выглядит следующим образом:

REG SAVE HKCCSystemCurrentControlSet ControlSet.hiv

Сохраняет подраздел реестра HKCCSystemCurrentControlSet вместе со всем его содержимым в файл ControlSet.hiv, создаваемый в текущей папке.

REG RESTORE

С использованием этой команды можно восстановить поврежденный ключ, раздел или подраздел реестра из файла .hiv, созданного ранее командой REG SAVE. В процессе восстановления все существующие в указанном разделе подразделы и параметры реестра перезаписываются. Стандартный формат данной команды таков:

:/>  Как найти драйвер для неизвестного устройства

REG RESTORE HKLMSoftwareMicrosoft MSBackup.hiv

Восстанавливает подраздел реестра HKLMSoftwareMicrosoft из ранее сохраненного на диске файла MSBackup.hiv, перезаписывая все содержимое указанного раздела.

REG LOAD

Действие команды REG LOAD в целом аналогично директиве REG RESTORE, с тем лишь исключением, что данная команда загружает ранее сохраненные в файле .hiv данные только в те ветви реестра, которые хранятся в оперативной памяти компьютера в ходе всего сеанса работы пользователя с операционной системой, то есть в дочерние разделы и подразделы ветвей HKLM и HKU. Для загрузки данных из файла в реестре обычно создается новый раздел с заданным пользователем именем. Синтаксис записи этой команды выглядит следующим образом:

REG LOAD HKLMSoftwareNewKey MSBackup.hiv

Загружает данные из файла MSBackup.hiv в подраздел реестра HKLMSoftwareNewKey.

REG UNLOAD

Директива REG UNLOAD выгружает из памяти локального компьютера хранящиеся там данные реестра, отображающиеся в иерархической структуре реестра в виде разделов и подразделов ветвей HKLM и HKU. Формат записи:

REG UNLOAD HKLMSoftware

Выгружает из памяти компьютера содержимое ветви реестра HKLMSoftware.

REG COMPARE

Эта команда позволяет выполнить операцию сравнения двух разделов реестра. Стандартный формат записи этой команды выглядит следующим образом:

  • /ve – выполнить сравнение безымянных параметров, хранящихся в указанных разделах.
  • /s – сравнивать значения всех подразделов и параметров в обоих разделах реестра.
  • Ÿ /oa – отображать и совпадения, и отличия;
  • Ÿ /od – отображать только отличия;
  • Ÿ /os – отображать только совпадения;
  • Ÿ /on – не отображать результаты сравнения.

В отличие от других процедур команды REG, директива REG COMPARE имеет не два, а три различных кода возврата: 0 – процедура выполнена успешно, сравниваемые данные идентичны; 1 – в процессе выполнения процедур произошла ошибка; 2 – процедура выполнена успешно, сравниваемые данные различаются.

REG COMPARE HKLMSoftwareProgApp HKLMSoftwareProg

Сравнивает содержимое подразделов реестра HKLMSoftwareProgApp и HKLMSoftwareProg.

REG COMPARE HKLMSoftwareProgApp HKLMSoftwareProg /v Value1

Сравнивает значение параметров с именем Value1, один из которых хранится в разделе HKLMSoftwareProgApp, а другой – в разделе HKLMSoftwareProg локального реестра.

REG COMPARE \SERVERHKLMSoftwareMicrosoft \. /s

Сравнивает содержимое подраздела реестра HKLMSoftwareMicrosoft, хранящегося на удаленном компьютере SERVER, с аналогичным разделом реестра локального компьютера.

REG EXPORT

Команда REG EXPORT позволяет сохранить выбранный ключ или подраздел реестра вместе с хранящимися в нем параметрами на диск в файл с расширением .reg, который впоследствии может быть импортирован в реестр. Стандартный формат записи этой команды выглядит следующим образом:

REG EXPORT HKLMSoftwareAdobe Adobe.reg

Экспортирует подраздел реестра HKLMSoftwareAdobe вместе со всем его содержимым в файл Adobe.reg, создаваемый в текущей папке.

REG IMPORT

Директива REG IMPORT импортирует содержимое REG-файла в реестр Windows. Данный файл может храниться только на локальном компьютере. Формат записи:

REG IMPORT C:system.reg

Импортирует в реестр содержимое файла system.reg, хранящегося на диске C:.

Добавляет, изменяет и отображает на экране информацию разделов реестра и значение записей
реестра.

Добавляет новый раздел или новую запись в реестр.

Задает полный путь к разделу. Для удаленных компьютеров перед путем к разделу в формате
\имя_компьютерапуть_к_разделу вставляется имя компьютера. Если параметр
имя_компьютера не задан, операция по умолчанию выполняется на локальном
компьютере. Путь следует начинать с соответствующего поддерева. Допустимыми поддеревьями
являются HKLM, HKCU, HKCR, HKU и HKCC.

Задает имя записи для добавления к заданному разделу.

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

Задает тип данных для значения записи. Параметр тип_данных может иметь одно из
перечисленных ниже значений:

Задает символы для разделения копий данных. Используется при задании REG_MULTI_SZ в
качестве типа данных и при размещении более одной записи в списке. Если разделитель не
задан, то используется разделитель , заданный по умолчанию.

Задает значение для новой записи реестра.

Добавляет раздел или запись без запроса на подтверждение.

Вывод справки в командной строке.

  • С помощью данной операции нельзя добавлять поддеревья. Эта версия регистра не
    запрашивает подтверждения при добавлении нового раздела.
  • В следующей таблице представлены значения возврата для операции reg add.

Примеры

Далее приведены примеры использования команды reg add.

reg add hklmsoftwaremyco /v data /t reg_binary /d fe340ead
reg add “hkcusoftwaremicrosoftwinmine” /v Name3 /t reg_sz /d Anonymous
reg add “hkcusoftwaremicrosoftwinmine” /v Time3 /t reg_dword /d 5