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