Внесение изменений в реестр при помощи REG-файла
Выше мы уже рассматривали поведение системы при выполнении двойного щелчка по файлу с расширением .REG. При двойном щелчке на REG-файле у вас запускается редактор реестра, которому передается в качестве параметра имя файла.
ВНИМАНИЕ
Перед импортом в реестр REG-файла обязательно сделайте резервную копию реестра или точку восстановления системы!
Данный способ не очень удобен для автоматизации задач. Например, мы хотим создать сценарий автоматической установки системы с использованием REG-файлов. Если таких файлов будет слишком много, то пользователю постоянно придется нажимать кнопку OK, что, согласитесь, не доставит ему удовольствия. Можно подавить появ ление диалогового окна, запустив команду с параметром /S:
REGEDIT /S D:\test.reg
Именно этот способ используется программистами и системными администраторами при создании своих программ и сценариев, использующих REG-файлы. Правда, служба контроля учетных записей Windows выведет запрос о разрешении операции, но службу контроля можно отключить на время подобных действий, и тогда пользователь ничего не увидит.
C помощью REG-файла также можно удалять разделы. Для этого необходимо поставить знак минуса перед названием раздела. Откроем в Блокноте наш файл cat.reg и внесем следующие изменения:
Windows Registry Editor Version 5.00ставим минус для удаления раздела
[-HKEY_CURRENT_USER\Software\Test]
Теперь нужно дважды щелкнуть на REG-файле, чтобы запустить его и импортировать записи в реестр. Проверьте в редакторе реестра, что заданный раздел был удален.
ВНИМАНИЕ
Обратите внимание, что удалять можно только те разделы, которые не содержат в себе подразделов. В противном случае необходимо последовательно удалить все входящие в его состав подразделы и только потом приступать к удалению нужного раздела.
Также можно удалить параметр. Для этого следует поставить знак минуса (–) после знака равенства (=):
Windows-Registry-Editor-Version-5.00Удаляем параметр из раздела Test
[HKEY_CURRENT_USER\Software\Test]
«CatName»="Рыжик"
«CatAge»=-
Снова проверьте, что такие изменения работают и параметр CatAge был удален.
Утилита командной строки REG.EXE
Кроме редактора реестра, имеющего графический интерфейс, в составе Windows 7 имеется также утилита командной строки REG.EXE, предназначенная для опытных пользователей. С ее помощью можно создавать различные сценарии для выполнения различных задач, связанных с экспортом и импортом разделов реестра.
Экспорт параметров (команда EXPORT)
Для экспорта параметров реестра с помощью командной строки используется команда REG EXPORT, обладающая следующим синтаксисом:
REG EXPORT <имя_раздела> <имя_файла> [/y]
Параметры
? <имя_раздела> – полный путь к разделу реестра в виде: КОРЕНЬ\Подраздел (только для локального компьютера). В качестве корня используются значения HKLM-|-HKCU-|-HKCR-|-HKU-|-HKCC. В качестве подраздела используется полный путь к разделу реестра в выбранном корневом разделе.
? <имя_файла> – имя файла на диске, в котором будут записаны экспортированные записи.
? /y – необязательный параметр. С его помощью можно выводить окно с предупреждением о том, что на диске уже существует файл с таким же именем.
Практическое занятие
Попробуем экспортировать раздел Test, созданный на предыдущих занятиях, при помощи командной строки. Запустите интерпретатор командной строки (cmd.exe). Введите в командной строке следующую строчку (предполагается, что у вас еще нет файла cat.reg на диске D:):
reg export HKCU\Software\Test-d:\cat.reg
В успешном случае на экране появится строчка Операция успешно завершена (рис.1.20). Откройте диск и убедитесь, что данный файл существует (естественно, вы можете самостоятельно выбрать диск и имя файла для данного примера).
Рис. 1.20. Экспорт настроек реестра при помощи командной строки
Добавление параметров (команда ADD)
При помощи команды REG ADD можно добавить параметры в реестр. Таким образом, можно включить команды для добавления параметров в состав сценария, не прибегая к помощи REG-файлов. Синтаксис команды достаточно прост:
REG ADD <имя_раздела> [/v <имя_параметра> | /ve] [/t <тип>] [/s <разделитель>] [/d <данные>] [/f]
Параметры
? имя_раздела-[\\<компьютер>\]<раздел>.
<компьютер> – имя удаленного компьютера. Если оно опущено, то по умолчанию используется локальный компьютер. На удаленном компьютере доступны только корневые разделы 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 – выполнение замены существующих записей без запроса подтверждения.
Для добавления нового раздела HKCU\Software\Test на удаленном компьютере BOSS введите в командной строке следующее:
REG ADD \\BOSS\HKCU\Software\Test
У утилиты командной строки REG.EXE есть множество других ключей для работы с реестром: QUERY, DELETE, COPY, SAVE, RESTORE, LOAD, UNLOAD, COMPARE, IMPORT. Узнать о них вы можете из справочной документации.
Практическое занятие