В общем виде синтаксис команды REG выглядит следующим образом:
REG <процедура> [список параметров]
Всего существует одиннадцать процедур, которые способна выполнять директива REG: QUERY, ADD, DELETE, COPY, SAVE, LOAD, UNLOAD, RESTORE, COMPARE, EXPORT, IMPORT. Каждая из этих процедур имеет, как правило, собственный набор параметров. В настоящей главе мы подробно изучим каждую из них.
При вызове из командной строки директива REG пересылает в окружение операционной системы так называемый код возврата: сообщение об успешном или неуспешном выполнении операции. Если код возврата равен 0, это означает, что операция была выполнена успешно, если же она завершилась с ошибкой, код возврата будет равен 1. Более подробные сведения об использовании утилиты REG вы можете получить, набрав в командной строке директиву REG /?, чтобы получить информацию о какой-либо из перечисленных процедур, воспользуйтесь командой REG <процедура> /?.
REG QUERY
Команда REG QUERY отправляет в системный реестр Windows запрос о содержимом ветвей, ключей, подразделов или параметров, и выводит на экран результат обработки этих запросов. В общем виде синтаксис данной команды записывается следующим образом:
REG QUERY [\Компьютер\]Путь [/v Параметр | /ve] [/s]
В составе директивы могут использоваться следующие параметры:
-
Компьютер - имя компьютера в локальной сети, если директива предназначена для обработки на удаленном компьютере. В случае, если этот параметр опущен, команда выполняется на локальном компьютере.
-
Путь - полный путь к целевому разделу реестра в виде корень\ключ\подраздел, где корень - сокращенное обозначение ветви реестра (HKLM, HKCU, HKCR, HKU или HKCC), а ключ\подраздел - полный путь к искомому подразделу в иерархии реестра, включая все вложенные подразделы.
-
/v - запрос о содержимом указанного раздела реестра.
-
Параметр - вывести имя и значение запрашиваемого параметра в указанном разделе.
-
/ve - запрос стандартного параметра с пустым именем.
-
/s - вывести список всех подразделов данного раздела реестра вместе с их содержимым.
Примеры использования:
REG QUERY HKCC\Softvare\Microsoft\windows\CurrentVersion\Internet Settings /v ProxyEnable
Показывает имя и значение параметра ProxyEnable в разделе реестра HKCC\Softvare\Microsoft\windows\CurrentVersion\Internet Settings
REG QUERY HKLM\Software\Microsoft\Office /s
Показать список всех подразделов и содержащихся в них параметров для раздела реестра HKLM\Software\Microsoft\Office.
REG ADD
Данная команда добавляет в выбранный раздел реестра указанные пользователем параметры. Общий синтаксис этой директивы выглядит следующим образом:
REG ADD <Раздел> [\\<компьютер>\]<путь> [/v <параметр> | /ve] [/t <тип>] [/s <разделитель>] [/d <данные>] [/f]
В составе директивы могут использоваться следующие параметры:
-
Раздел - полный путь к редактируемому разделу реестра в формате [\\<компьютер>\]<путь>, где <компьютер> - имя компьютера в локальной сети, если директива предназначена для обработки на удаленном компьютере. В случае, если этот параметр опущен, команда выполняется на локальном компьютере. Путь - полный путь к целевому разделу реестра в виде корень\ключ\подраздел, где корень - сокращенное обозначение ветви реестра (HKLM, HKCU, HKCR, HKU или HKCC), а ключ\подраздел - полный путь к искомому подразделу в иерархии реестра, включая все вложенные подразделы. На удаленном компьютере возможно обращаться только к разделам реестра HKLM и HKU.
-
/v <параметр> - имя параметра, добавляемого в указанный раздел.
-
/ve - добавить пустой параметр (параметр по умолчанию) в указанный раздел.
-
/t <тип> - явное указание на тип данных добавляемого в указанный раздел реестра параметра. Может принимать одно из следующих значений: REG_SZ, REG_MULTI_SZ, REG_DWORD_BIG_ENDIAN, REG_DWORD, REG_BINARY, REG_DWORD_LITTLE_ENDIAN, REG_NONE или REG_EXPAND_SZ. Если тип параметра не указан, по умолчанию для данного параметра определяется тип REG_SZ.
-
/s <разделитель> - тип разделителя значений для разграничения данных, хранящихся в многострочных параметрах типа REG_MULTI_SZ. По умолчанию разделитель имеет вид «\0».
-
/d <данные> - значение, присваиваемое добавляемому параметру реестра.
-
/f - перезаписывать уже существующие в реестре параметры и значения, замещая их указанными в командной строке, без демонстрации предупреждений.
Примеры использования:
REG ADD \\NetComp\HKLM\Software\NewSubkey
Добавляет подраздел NewSubkey в раздел реестра HKLM\Software на удаленном компьютере NetComp.
REG ADD HKLM\Software\NewSubkey /v Value1 /t REG_SZ /d ac23456ffed
Добавляет в подраздел локального реестра HKLM\Software\NewSubkey параметр с именем Value1 типа REG_SZ, и присваивает ему значение ac23456ffed.
REG ADD HKLM\Software\NewSubkey /v Path /t REG_EXPAND_SZ /d %%systemroot%%\System32
Добавляет в подраздел локального реестра HKLM\Software\NewSubkey параметр с именем Path типа REG_EXPAND_SZ, и присваивает ему значение %systemroot%\System32
ПРИМЕЧАНИЕ
В случае записи в командной строке для директивы REG стандартных переменных окружения Windows, необходимо использовать для их выделения дополнительный символ «%» (%%переменная%%)
REG DELETE
С использованием данной команды выполняется удаление из реестра указанного ключа, подраздела или параметра. Общий синтаксис этой директивы выглядит следующим образом:
REG DELETE [\Компьютер\]Путь [/v Параметр | /ve | /va] [/f]
В составе директивы могут использоваться следующие параметры:
-
Компьютер - имя компьютера в локальной сети, если директива предназначена для обработки на удаленном компьютере. В случае, если этот параметр опущен, команда выполняется на локальном компьютере. На удаленном компьютере возможно обращаться только к разделам реестра HKLM и HKU.
-
Путь - полный путь к целевому разделу реестра в виде корень\ключ\подраздел, где корень - сокращенное обозначение ветви реестра (HKLM, HKCU, HKCR, HKU или HKCC), а ключ\подраздел - полный путь к искомому подразделу в иерархии реестра, включая все вложенные подразделы.
-
/v <параметр> - удаление параметра с указанным именем. Если имя опущено, из данного раздела будут удалены все содержащиеся в нем параметры.
-
/ve - удалять все безымянные параметры, содержащиеся в данном разделе.
-
/va - запрашивать все параметры из данного раздела реестра.
-
/f - выполнять удаление без дополнительного предупреждения.
Примеры использования:
REG DELETE \HKLM\Software\NewSubkey
Удаляет подраздел NewSubkey вместе со всем его содержимым из раздела реестра HKLM\Software.
REG DELETE \HKLM\Software\Prog /v PARAM /f
Без предварительного подтверждения удаляет параметр PARAM из раздела реестра HKLM\Software\Prog.
REG COPY
С использованием команды REG COPY можно скопировать разделы, подразделы и параметры из одного раздела реестра в другой, как на локальном компьютере, так и по сети. Общий синтаксис этой директивы выглядит следующим образом:
REG COPY <раздел1> <раздел2> [/s] [/f]
В составе директивы могут использоваться следующие параметры:
-
<раздел1> - полное описание раздела, из которого копируются данные, в формате [\\<компьютер>\]<путь>, где <компьютер> - имя компьютера в локальной сети, если директива предназначена для обработки на удаленном компьютере. В случае, если этот параметр опущен, команда выполняется на локальном компьютере. Путь - полный путь к целевому разделу реестра в виде корень\ключ\подраздел, где корень - сокращенное обозначение ветви реестра (HKLM, HKCU, HKCR, HKU или HKCC), а ключ\подраздел - полный путь к искомому подразделу в иерархии реестра, включая все вложенные подразделы. На удаленном компьютере возможно обращаться только к разделам реестра HKLM и HKU.
-
<раздел2> - полное описание раздела, в который копируются данные. Формат записи такой же, как и в предыдущем случае.
-
/s - копировать все подразделы и параметры, содержащиеся в указанном разделе.
-
/f - выполнять копирование без предварительного предупреждения. Если в целевом разделе уже присутствуют подразделы и параметры, имена которых совпадают с копируемыми, они будут перезаписаны.
Примеры использования:
REG COPY HKLM\Software\Program HKLM\Software\Restore /s
Скопировать все содержимое раздела реестра HKLM\Software\Program в раздел HKLM\Software\Restore.
REG COPY \\SERVER\HKLM\Software\Microsoft HKLM\Software\Server
Скопировать все параметры раздела реестра HKLM\Software\Microsoft с удаленного компьютера Server в раздел HKLM\Software\Server локального компьютера.
REG SAVE
Команда REG SAVE позволяет сохранить выбранный ключ или подраздел реестра вместе с хранящимися в нем параметрами на диск в файл с расширением .hiv, который впоследствии может быть импортирован в реестр. Стандартный формат записи этой команды выглядит следующим образом:
REG SAVE <раздел> <имя файла>
В составе директивы могут использоваться следующие параметры:
-
<раздел> - описание локального раздела реестра, содержимое которого вы планируете сохранить в файле, должно включать обозначение ветви (HKLM, HKCU, HKCR, HKU или HKCC) и всех подразделов. Использование этой команды для удаленных компьютеров не допускается.
-
<имя файла> - имя файла, в который сохраняется содержимое раздела, включая путь к этому файлу. Если путь не указан, файл автоматически создается в текущей папке вызвавшего команду процесса.
Примеры использования:
REG SAVE HKCC\System\CurrentControlSet ControlSet.hiv
Сохраняет подраздел реестра HKCC\System\CurrentControlSet вместе со всем его содержимым в файл ControlSet.hiv, создаваемый в текущей папке.
REG RESTORE
С использованием этой команды можно восстановить поврежденный ключ, раздел или подраздел реестра из файла .hiv, созданного ранее командой REG SAVE. В процессе восстановления все существующие в указанном разделе подразделы и параметры реестра перезаписываются. Стандартный формат данной команды таков:
REG RESTORE <раздел> <имя файла>
В составе директивы могут использоваться следующие параметры:
-
<раздел> - описание локального раздела реестра, содержимое которого вы планируете восстановить из файла с указанным именем, должно включать обозначение ветви (HKLM, HKCU, HKCR, HKU или HKCC) и всех подразделов. Использование этой команды для удаленных компьютеров не допускается.
-
<имя файла> - имя файла, из которого восстанавливается содержимое раздела.
Примеры использования:
REG RESTORE HKLM\Software\Microsoft MSBackup.hiv
Восстанавливает подраздел реестра HKLM\Software\Microsoft из ранее сохраненного на диске файла MSBackup.hiv, перезаписывая все содержимое указанного раздела.
REG LOAD
Действие команды REG LOAD в целом аналогично директиве REG RESTORE, с тем лишь исключением, что данная команда загружает ранее сохраненные в файле .hiv данные только в те ветви реестра, которые хранятся в оперативной памяти компьютера в ходе всего сеанса работы пользователя с операционной системой, то есть в дочерние разделы и подразделы ветвей HKLM и HKU. Для загрузки данных из файла в реестре обычно создается новый раздел с заданным пользователем именем. Синтаксис записи этой команды выглядит следующим образом:
REG LOAD <раздел> <имя файла>
В составе директивы могут использоваться следующие параметры:
-
<раздел> - описание локального раздела реестра, содержимое которого вы планируете загрузить из файла с указанным именем; разрешается использовать только обозначение ветвей HKLM и HKU. В качестве имени раздела можно вводить произвольное имя, которое будет автоматически назначено вновь созданному разделу указанной ветви реестра. Использование этой команды для удаленных компьютеров не допускается.
-
<имя файла> - имя файла, из которого восстанавливается содержимое раздела.
Примеры использования:
REG LOAD HKLM\Software\NewKey MSBackup.hiv
Загружает данные из файла MSBackup.hiv в подраздел реестра HKLM\Software\NewKey.
REG UNLOAD
Директива REG UNLOAD выгружает из памяти локального компьютера хранящиеся там данные реестра, отображающиеся в иерархической структуре реестра в виде разделов и подразделов ветвей HKLM и HKU. Формат записи:
REG UNLOAD <раздел>
В составе директивы могут использоваться следующие параметры:
<раздел> - описание локального раздела реестра, содержимое которого требуется выгрузить из памяти. Разрешается использовать только обозначение ветвей HKLM и HKU, а также их дочерних ключей и подразделов. Использование этой команды для удаленных компьютеров не допускается.
Примеры использования:
REG UNLOAD HKLM\Software
Выгружает из памяти компьютера содержимое ветви реестра HKLM\Software.
REG COMPARE
Эта команда позволяет выполнить операцию сравнения двух разделов реестра. Стандартный формат записи этой команды выглядит следующим образом:
REG COMPARE <раздел1> <раздел2> [/v <параметр> | /ve] [<вывод>] [/s]
В составе директивы могут использоваться следующие параметры:
-
<раздел1> - полное описание первого проверяемого раздела, в формате [\\<компьютер>\]<путь>, где <компьютер> - имя компьютера в локальной сети, если директива предназначена для обработки на удаленном компьютере. В случае, если этот параметр опущен, команда выполняется на локальном компьютере. Путь - полный путь к целевому разделу реестра в виде корень\ключ\подраздел, где корень - сокращенное обозначение ветви реестра (HKLM, HKCU, HKCR, HKU или HKCC), а ключ\подраздел - полный путь к искомому подразделу в иерархии реестра, включая все вложенные подразделы. На удаленном компьютере возможно обращаться только к разделам реестра HKLM и HKU.
-
<раздел2> - полное описание второго раздела, с которым сверяются данные. Формат записи такой же, как и в предыдущем случае.
-
/v <параметр> - сравнивать только параметры с указанным именем.
-
/ve - выполнить сравнение безымянных параметров, хранящихся в указанных разделах.
-
/s - сравнивать значения всех подразделов и параметров в обоих разделах реестра.
-
<вывод> - установить формат вывода сравниваемых данных (если формат вывода не указан, по умолчанию его значение принимается, как /od). В качестве этого параметра может быть использован один из четырех возможных ключей:
-
Ÿ /oa - отображать и совпадения, и отличия;
-
Ÿ /od - отображать только отличия;
-
Ÿ /os - отображать только совпадения;
-
Ÿ /on - не отображать результаты сравнения.
В отличие от других процедур команды REG, директива REG COMPARE имеет не два, а три различных кода возврата: 0 - процедура выполнена успешно, сравниваемые данные идентичны; 1 - в процессе выполнения процедур произошла ошибка; 2 - процедура выполнена успешно, сравниваемые данные различаются.
Примеры использования:
REG COMPARE HKLM\Software\ProgApp HKLM\Software\Prog
Сравнивает содержимое подразделов реестра HKLM\Software\ProgApp и HKLM\Software\Prog.
REG COMPARE HKLM\Software\ProgApp HKLM\Software\Prog /v Value1
Сравнивает значение параметров с именем Value1, один из которых хранится в разделе HKLM\Software\ProgApp, а другой - в разделе HKLM\Software\Prog локального реестра.
REG COMPARE \\SERVER\HKLM\Software\Microsoft \\. /s
Сравнивает содержимое подраздела реестра HKLM\Software\Microsoft, хранящегося на удаленном компьютере SERVER, с аналогичным разделом реестра локального компьютера.
REG EXPORT
Команда REG EXPORT позволяет сохранить выбранный ключ или подраздел реестра вместе с хранящимися в нем параметрами на диск в файл с расширением .reg, который впоследствии может быть импортирован в реестр. Стандартный формат записи этой команды выглядит следующим образом:
REG EXPORT <раздел> <имя файла>
В составе директивы могут использоваться следующие параметры:
-
<раздел> - описание локального раздела реестра, содержимое которого вы планируете экспортировать в файл, должно включать обозначение ветви (HKLM, HKCU, HKCR, HKU или HKCC) и всех подразделов. Использование этой команды для удаленных компьютеров не допускается.
-
<имя файла> - имя файла, в который экспортируется содержимое раздела, включая путь к этому файлу. Если путь не указан, файл автоматически создается в текущей папке вызвавшего команду процесса.
Примеры использования:
REG EXPORT HKLM\Software\Adobe Adobe.reg
Экспортирует подраздел реестра HKLM\Software\Adobe вместе со всем его содержимым в файл Adobe.reg, создаваемый в текущей папке.
REG IMPORT
Директива REG IMPORT импортирует содержимое REG-файла в реестр Windows. Данный файл может храниться только на локальном компьютере. Формат записи:
REG IMPORT <имя файла>
Где <имя файла> - имя и путь к локальному REG-файлу на данном компьютере.
Пример использования:
REG IMPORT C:\system.reg
Импортирует в реестр содержимое файла system.reg, хранящегося на диске C:.