Реестр Windows 7 — страница 4 из 24

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

...

Практическое занятие

Давайте занесем в Избранное созданный нами раздел Test . Выделите его в редакторе реестра и выберите меню Избранное ► Добавить в избранное... Откроется диалоговое окно Добавление в папку „Избранное“ (рис. 1.18). При желании можно изменить имя по умолчанию для сохранения и щелкнуть на кнопке ОК , чтобы подтвердить наше действие. Теперь щелкните на любом другом разделе и закройте редактор. Откройте редактор реестра снова. В меню Избранное найдите строку Test (или строку с тем именем, под которым раздел был сохранен) и щелкните на ней. Вы сразу перейдете в нужный раздел.

Рис. 1.18. Сохранение раздела в папке Избранное

REG-файл

Можно вносить изменения в реестр путем внесения новых значений для нужных параметров в самом редакторе реестра или при помощи импорта. Но есть и другой способ. Можно заранее подготовить файл в заданном формате, и нужные параметры автоматически установятся в реестре. Для этих целей используются текстовые файлы с расширением REG.

Формат REG-файла

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

Windows Registry Editor Version 5.00Устанавливаем новые параметры для раздела Test

[HKEY_CURRENT_USER\Software\Test]

«CatName»="Рыжик"

«CatAge»=dword:00000008

Синтаксис REG-файлов

Рассмотрим формат REG -файлов. Сначала идет заголовок файла

Windows Registry Editor Version 5.00

Нужно заметить, что в более ранних операционных системах, Windows 98 и Windows NT 4.0, использовался заголовок REGEDIT4 . Если у вас сохранились подобные старые файлы, то не пугайтесь. Windows 7 поймет этот файл и корректно обработает информацию. А вот обратный процесс будет недоступен – Windows 98 не сможет распознать новый заголовок и выдаст ошибку. Одна немаловажная деталь – после заголовка обязательно идет пустая строка.

Если вам нужно включить в документ комментарий, чтобы не забыть о назначении параметра, то поставьте вначале символ «;» (точка с запятой). При экспорте раздела Test из прошлого примера никаких комментариев не добавляется. Я это сделал уже после создания REG-файла. Комментарий служит для удобства самого пользователя и в реестр не вносится.

Устанавливаем новые параметры для раздела Test

Далее указывается раздел реестра, который заключается в квадратные скобки. Обратите внимание, что если указанный в файле раздел в реестре не существует, то он будет создан:

[HKEY_CURRENT_USER\Software\Test]

И наконец, последний штрих – вы указываете параметр реестра и его значение:

«CatName»="Рыжик"

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

...

ПРИМЕЧАНИЕ

Я обратил внимание, что при создании REG-файла при помощи редактора реестра в конец файла вставляются две пустые строки. Я не нашел информации на данный счет в документации, но на всякий случай также добавляю две пустые строки при ручном создании файла. Для экономии бумаги в книге эти строки не отображаются.

Создание REG-файла

Писать REG-файл можно в любом текстовом редакторе, например в Блокноте. Создайте новый текстовый документ, наберите приведенный выше код (рис. 1.19) и сохраните файл с расширением REG.

Если вы хотите потренироваться в создании подобных файлов, то проще сгенерировать их при помощи экспорта из редактора реестра, а затем внести изменения в Блокноте.

Рис. 1.19. Редактирование текста файла в текстовом редакторе

Внесение изменений в реестр при помощи 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 . Если не указывается, то по умолчанию используется