Windows Основы работы с реестром - Утилита reg.exe

Тема в разделе "FAQ по работе с реестром", создана пользователем Kиpилл, 2 сен 2012.

  1. Kиpилл
    Оффлайн

    Kиpилл Команда форума Администратор

    Лучший автор месяца

    Сообщения:
    12.216
    Симпатии:
    4.978
    оглавление:
    Основы работы с реестром
    1)что такое реестр?
    2)ситаксис,структура,назначение элементов реестра.
    3)редактор реестра (regedit.exe)
    4)синтаксис,структура reg-файла.
    5)утилита reg.exe




    утилита reg.exe





    ранее мы ознакомились с редакцией реестра с помощью reg-файла.
    теперь ознакомимся с утилитой reg.exe

    Что требуется?
    Запустить командную строку (cmd) от имени администратора-
    выберите меню "пуск" в левом нижнем углу рабочего стола-
    в строке поиска введите:cmd-
    по найденному правой кнопкой мыши -
    "запустить от имени администратора".
    Это в windows 7 и vista.
    В windows ХР немного различается написание но принцип тот же.

    Еще метод:
    для русской версии windows

    Код (Text):
    runas /user:Администратор cmd
    Вводим ее в поле Выполнить (Win+R).
    После откроется командная строка с привилегиями администратора. Если администраторский аккаунт называется по другому в команде, соответственно, Администратор меняется на вашего пользователя с админискими правами.

    Для английской версии
    Код (Text):
    runas /user:Administrator cmd
    Есть и еще один способ:
    Загрузить операционную систему в безопасном режиме с поддержкой командной строки.



    справка: Утилита REG нужна для редактирования реестра, работая из командной строки cmd.exe, поддерживает все возможности, которые имеет программа regedit.exe. И более того- она также поддерживает несколько особенных функций. Полезна в том случае когда работа с regedit по каким либо причинам не возможна.

    Например ,если ваша операционная система поражена troyan winlok(баннер).

    Основной синтаксис выглядит примерно так:
    Код (Text):
    reg.exe команда \\компьютер\раздел реестра параметры.
    Если же вы изменяете реестр компьютера за которым сидите, то название компьютера указывать необязательно.

    А,кстати!
    Разделы реестра указываем по такому вот шаблону:

    Column 1 Column 2
    0 вместо HKEY_CLASSES_ROOT указывается HKCR;
    1 вместо HKEY_CURRENT_USER указывается HKCU;
    2 вместо HKEY_LOCAL_MACHINE указывается HKLM;
    3 вместо HKEY_USERS указывается HKU;
    4 вместо HKEY_CURRENT_CONFIG указывается HKCC.



    Ну,погнали...


    Я не буду сильно оригинальничать и сразу же обращусь к справке cmd,запустив командную строку и введя команду reg /?
    Тут же я увидел все команды,о доступности которых мне радостно сообщила справка консоли)))


    REG <операция> [Список параметров]

    <операция> [ QUERY | ADD | DELETE | COPY | SAVE | LOAD | UNLOAD | RESTORE | COMPARE | EXPORT | IMPORT | FLAGS ]

    Код возврата: (за исключением REG COMPARE)

    0 - Успешно
    1 - С ошибкой


    А теперь рассмотрим все это счастье более детально.

    Утилита reg.exe предоставляет нам широчайшие возможности для работы с реестром.
    Основной список используемых команд таков:




      • 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 QUERY

    Как правило используется для реализации поиска по реестру.

    Синтаксис команды таков:

    REG QUERY имя_раздела [/v [имя_параметра] | /ve] [/s] [/f данные [/k] [/d] [/c] [/e]] [/t тип] [/z] [/se разделитель]

    имя_раздела [\\компьютер\]полное_имя_раздела
    компьютер - имя удаленного компьютера, по умолчанию используется текущий компьютер.
    На удаленных компьютерах доступны только разделы HKLM и HKU
    полное_имя_раздела - путь в форме корневой_раздел\подраздел
    корневой раздел - [ HKLM | HKCU | HKCR | HKU | HKCC ]
    подраздел - полное имя раздела реестра в указанном корневом_разделе
    Column 1 Column 2
    0
    Параметры команды REG QUERY
    1 /v Запросы требуемых параметров в указанном разделе реестра. Если не указано, запрашиваются все параметры раздела. Аргумент этого параметра может быть необязательным, только если задан параметр /f. Это указывает на поиск только в именах параметров реестра.
    2 /ve Запросы параметра по умолчанию или с пустым именем (по умолчанию).
    3 /s Запрос всех вложенных подразделов и их параметров (аналогично команде dir /s).
    4 /se Указание разделителя (длиной в 1 знак) в строке данных для REG_MULTI_SZ. По умолчанию в качестве разделителя используется "\0".
    5 /f Данные или шаблон для поиска. Если строка содержит пробелы, заключайте ее в кавычки. Значение по умолчанию: "*".
    6 /k Указывает на поиск только в именах разделов.
    7 /d Указывает на поиск только в данных.
    8 /c Указывает на учет регистра знаков при поиске. По умолчанию при поиске регистр знаков не учитывается.
    9 /e Указывает на возврат только точных совпадений. По умолчанию возвращаются все совпадения.
    10 /t Указывает тип данных параметра реестра.
    11 Допустимые типы: REG_SZ, REG_MULTI_SZ, REG_EXPAND_SZ, REG_DWORD, REG_QWORD, REG_BINARY, REG_NONE По умолчанию будут использоваться все типы.
    12 /z Подробности: отображение числового кода типа имени значения.

    Примеры:

    REG QUERY HKLM\Software\Microsoft\ResKit /v Version
    Отображение значения параметра реестра Version

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

    REG QUERY HKLM\Software\Microsoft\ResKit\Nt\Setup /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 HKLM\SOFTWARE /ve
    Отображение параметра и данных для пустого значения (по умолчанию)
    в разделе HKLM\SOFTWARE



    Например,давайте проверим,все ли вы удалили при написании твика удаления пункта контексного меню "моя первая фигня..."
    (мы его создавали в прошлой теме)
    Вводим
    Код (Text):
    reg query HKEY_CLASSES_ROOT\DesktopBackground\Shell
    Вот что я увидел в результате-
    [​IMG]
    Код (Text):
    Windows Registry Editor Version 5.00

    [HKEY_CLASSES_ROOT\DesktopBackground\Shell]

    [HKEY_CLASSES_ROOT\DesktopBackground\Shell\Display]

    [HKEY_CLASSES_ROOT\DesktopBackground\Shell\Gadgets]

    [HKEY_CLASSES_ROOT\DesktopBackground\Shell\Personalize]

     
    То есть все что нужно мой твик удалил.
    А ваш?


    REG ADD

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

    Синтаксис команды:

    REG ADD <имя_раздела> [/v <имя_параметра> | /ve] [/t <тип>] [/s <разделитель>] [/d <данные>] [/f]

    имя_раздела [\\<компьютер>\]<раздел>

    Компьютер - имя удаленного компьютера. Если оно опущено, то по умолчанию используется локальный компьютер. На удаленном компьютере доступны только корневые разделы HKLM и HKU.

    Раздел - КОРЕНЬ\<подраздел>

    КОРЕНЬ - [ HKLM | HKCU | HKCR | HKU | HKCC ]

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


    Column 1 Column 2
    0
    Параметры команды REG ADD
    1 /v Имя параметра, добавляемого в выбранный раздел.
    2 /ve Добавление параметра с пустым именем (по умолчанию) в этот раздел.
    3 /t Тип данных: [ REG_SZ , REG_MULTI_SZ , REG_EXPAND_SZ, REG_DWORD , REG_QWORD , REG_BINARY ,REG_NONE ] Если не указывается, то по умолчанию используется REG_SZ.
    4 /s Символ, используемый в качестве разделителя данных для параметров типа REG_MULTI_SZ. Если не указан, то в качестве разделителя используется "\0".
    5 /d Значение, присваиваемое добавляемому параметру реестра.
    6 /f Выполнение замены существующих записей, не запрашивая подтверждения

    Примеры:

    REG ADD \\ABC\HKLM\Software\MyCo
    Добавление раздела HKLM\Software\MyCo на удаленном компьютере ABC

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

    REG ADD HKLM\Software\MyCo /v MRU /t REG_MULTI_SZ /d fax\0mail
    Добавление параметра (имя: MRU, тип: REG_MUTLI_SZ, данные: fax\0mail\0\0)

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


    REG DELETE

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

    Синтаксис команды следующий:

    REG DELETE <имя_раздела> [/v <имя_параметра> | /ve | /va] [/f]

    имя_раздела [\\<компьютер>\]<раздел>
    компьютер Имя удаленного компьютера, если оно опущено, по умолчанию используется локальный компьютер. На удаленном компьютере можно использовать только корневые разделы HKLM и HKU.
    раздел КОРЕНЬ\<подраздел>
    КОРЕНЬ [ HKLM | HKCU | HKCR | HKU | HKCC ]
    подраздел Полное имя подраздела реестра в одном из выбранных корневых разделов.

    имя_значения Имя параметра, удаляемого из выбранного раздела. Если оно опущено, удаляются все подразделы и значения указанного раздела.


    Column 1 Column 2
    0
    Параметры команды REG DELETE​
    1 /ve Удаление пустого имени параметра (По умолчанию).
    2 /va Удаление всех параметров в указанном разделе.
    3 /f Выполнение удаления без запроса подтверждения.

    Примеры:

    REG DELETE HKLM\Software\MyCo\MyApp\Timeout
    Удаление раздела реестра Timeout и всех его подразделов и параметров.

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




    REG COPY

    Эта команда используется для копирования разделов ,параметров и значений параметров реестра в другие разделы,параметры и значения параметров реестра.

    Синтаксис команды следующий:

    REG COPY <раздел1> <раздел2> [/s] [/f]

    раздел Имя раздела в формате: [\\Компьютер\]Путь
    компьютер Имя удаленного компьютера: если оно опущено, то по умолчаyю считается равным имени локального компьютера. Для удаленных компьютеров доступны только HKLM и HKU.
    путь Полный путь к разделу реестра в виде: КОРЕНЬ\Подраздел.
    КОРЕНЬ Корневой раздел. Значения: [ HKLM | HKCU | HKCR | HKU | HKCC ].
    подраздел Полный путь к разделу реестра в выбранном корневом разделе.


    Column 1 Column 2
    0
    Параметры команды REG COPY​
    1 /s Копирование всех подразделов и параметров.
    2 /f Принудительное копирование без дополнительного предупреждения.

    Примеры:

    REG COPY HKLM\Software\MyCo\MyApp HKLM\Software\MyCo\SaveMyApp /s
    Копирует все подразделы и параметры раздела MyApp в раздел SaveMyApp

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


    REG SAVE

    Эта команда необходима для того,что бы сохранить разделы реестра в hiv файл.

    Синтаксис команды:

    REG SAVE <имя_раздела> <имя_файла> [/y]

    имя_раздела КОРЕНЬ\<подраздел>
    КОРЕНЬ [ HKLM | HKCU | HKCR | HKU | HKCC ]
    подраздел Полное имя подраздела реестра в одном из выбранных корневых файлов.

    имя_файла Имя диска, на который сохраняется файл. Если путь не указан, то файл создается в текущей папке вызывающего процесса.

    Column 1 Column 2
    0
    Параметры команды REG SAVE​
    1 /y Выполнение замены существующего файла без запроса подтверждения.

    Примеры:

    REG SAVE HKLM\Software\MyCo\MyApp AppBkUp.hiv
    Сохранение раздела MyApp в файл AppBkUp.hiv текущей папки


    REG RESTORE

    Эта команда поможет восстановить раздел реестра из файла .hiv

    Синтаксис команды:

    REG RESTORE <имя_раздела> <имя_файла>

    имя_раздела КОРЕНЬ\<подраздел> (только локальный компьютер)
    КОРЕНЬ [ HKLM | HKCU | HKCR | HKU | HKCC ]
    подраздел Полное имя подраздела реестра, в который восстанавливается файл раздела.При этом происходит замена существующих параметров разделов и подразделов.

    имя_файла Имя файла раздела, подлежащего восстановлению. Чтобы создать данный файл, необходимо использовать REG SAVE.

    Примеры:
    REG RESTORE HKLM\Software\Microsoft\ResKit NTRKBkUp.hiv
    Восстановление файла NTRKBkUp.hiv заменой раздела ResKit



    REG LOAD

    Эта команда поможет загрузить в раздел реестра данные из файлов .hiv

    REG LOAD <имя_раздела> <имя_файла>

    имя_раздела КОРЕНЬ\<подраздел> (только локальный компьютер)
    КОРЕНЬ [ HKLM | HKU]
    подраздел Имя подраздела реестра, в который загружается файл.Должно происходить создание нового раздела,если такое имя отсутствует.
    имя_файла Имя файла, подлежащего загрузке.
    Чтобы создать данный файл, необходимо использовать REG SAVE.

    Примеры:

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


    REG UNLOAD

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

    REG UNLOAD <имя_раздела>

    имя_раздела КОРЕНЬ\<подраздел> (только локальный компьютер)
    КОРЕНЬ [ HKLM | HKU]
    подраздел Имя подраздела куста, в который выгружается файл.

    Примеры:

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


    REG COMPARE

    Эта замечательная команда позволяет выполнить сравнение данных в реестре.

    Синтаксис команды:


    REG COMPARE <имя_раздела_1> <имя_раздела_2> [/v <имя_параметра> | /ve] [вывод] [/s]

    имя_раздела [\\<компьютер>\]<раздел>
    компьютер Имя удаленного компьютера, если оно опущено, по умолчанию используется локальный компьютер. На удаленном компьютере можно использовать только корневые разделы HKLM и HKU.
    имя_раздела КОРЕНЬ\<подраздел>
    Если имя раздела 1 не указано, то имя раздела 2 равно имени раздела 1.
    КОРЕНЬ [ HKLM | HKCU | HKCR | HKU | HKCC ]
    подраздел Полное имя подраздела реестра в одном из выбранных корневых разделов.

    имя_параметра Имя параметра в выбранном разделе, подлежащее сравнению.
    Если опущено, то сравниваются все параметры в разделе.


    Column 1 Column 2
    0
    Параметры команды REG COMPARE​
    1 /ve Сравнение параметров раздела с пустым именем (по умолчанию).
    2 /s Сравнение всех подразделов и параметров.
    3 Вывод [/oa ; /od ; /os ; /on] Если опущен, то выводятся только различия.
    4 /oa Вывод всех различий и совпадений.
    5 /od Вывод только различий.
    6 /os Вывод только совпадений.
    7 /on Без вывода.

    Код возврата:

    0 - Успешно, сравниваемые данные идентичны
    1 - При обработке произошла ошибка
    2 - Успешно, сравниваемые данные отличаются

    Примечание:
    Символы в начале каждой строки читаются следующим образом:
    = данные FullKey1 равны данным FullKey2
    < относится к данным FullKey1, если они отличаются от данных FullKey2
    > относится к данным FullKey2, если они отличаются от данных FullKey1

    Пример:
    REG COMPARE HKLM\Software\MyCo\MyApp HKLM\Software\MyCo\SaveMyApp
    Сравнивает все значения в разделе MyApp со значениями раздела SaveMyApp

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

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



    REG EXPORT

    Ну а с помощью этой команды мы можем выполнить экспорт разделов реестра.

    Синтаксис команды:
    REG EXPORT <имя_раздела> <имя_файла> [/y]

    имя_раздела КОРЕНЬ\<подраздел> (только локальный компьютер).
    КОРЕНЬ [ HKLM | HKCU | HKCR | HKU | HKCC ]
    подраздел Полное имя подраздела реестра в одном из выбранных корневых разделов.

    имя_файла Имя диска, на который экспортируется файл

    Параметр /y в конце команды позволяет выполнение замены существующего файла без запроса подтверждения.

    Примеры:

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



    REG IMPORT

    С помощью этой команды выполняется импорт файлов реестра.

    Синтаксис команды:
    REG IMPORT <имя_файла>

    имя_файла не забываем указывать имя диска, с которого импортируется файл (только локальный компьютер).

    Примеры:

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


    REG FLAGS

    Эта команда предназначена для работы с флагами реестра.

    Синтаксис команды:

    REG FLAGS имя_раздела [QUERY | SET [DONT_VIRTUALIZE] [DONT_SILENT_FAIL] [RECURSE_FLAG]]

    Имя_раздела "HKLM\Software"[\подраздел] (ограничено этими разделами только на локальном компьютере).
    Подраздел Полное имя раздела реестра в узле HKLM\Software.
    DONT_VIRTUALIZE DONT_SILENT_FAIL RECURSE_FLAG
    Используется вместе с параметром SET; флаги, указанные в командной строке, будут установлены, не указанные - удалены.

    Примеры:

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

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







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

    Важно!!!


    Операционная система Windows 7 с включенным механизмом UAC поддерживает новую возможность, называемую виртуализацией каталогов и разделов реестра. Она позволяет решить проблему установки приложений учетными записями пользователей, которые не имеют административных прав (точнее, не имеют прав на модификацию определенных разделов реестра и каталогов).

    Виртуализация реестра.
    Если механизм виртуализации включен, то при попытке какой-либо программы модифицировать раздел реестра, находящийся в разделе HKLM\SOFTWARE, доступ к которой запрещен текущему пользователю, операционная система перенаправляет запрос программы в раздел реестра HKCU\Software\Classes\VirtualStore\MACHINE и выполняет модификацию в нем.

    Например, если программа пытается записать данные в раздел: HKLM\SOFTWARE\program_folder,то операционная система перенаправляет ее в раздел:
    HKCU\Software\Classes\VirtualStore\MACHINE\Software\program_folder.

    При последующих запусках программы она будет работать с данными, хранящимися не в разделе реестра, доступ к которому пользователю запрещен, а в разделе реестра
    HKCU\Software\Classes\VirtualStore\MACHINE.

    Виртуализация каталогов.
    Аналогично механизм виртуализации работает и с папками. Только в этом случае операционная система перенаправляет запрос программы в каталог вида:
    %userprofile%\AppData\Local\VirtualStore.

    Виртуализация каталогов действует для следующих папок операционной системы: %ProgramFiles%, %Windir%; %Windir%\system32.

    Отключение механизма виртуализации.
    _________________________________________________


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

    Чтобы запретить механизм виртуализации, нужно запустить консоль gpedit.msc, перейти к разделу:
    Конфигурация компьютера/Конфигурация Windows/Параметры безопасности/Локальные политики/Параметры безопасности
    и в контекстном меню политики
    Контроль учетных записей: при сбоях записи в файл или реестр виртуализация в размещение пользователя выбрать команду Свойства. После этого в появившемся окне нужно установить переключатель в положение Отключен.

    Чтобы отключить механизм виртуализации при помощи реестра, нужно параметру REG_DWORD-типа EnableVirtualization, расположенному в разделе реестра HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System, присвоить значение 0.



    Использование нескольких команд
    _______________________________________

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

    Применение команд утилиты REG.EXE к
    разделам и параметрам реестра имеющим пробелы

    ________________________________________________

    Наверняка вы столкнулись с такой проблемкой:
    Код (Text):
    REG QUERY HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon /s
    И получаем такую вот дулю:
    Код (Text):
    Microsoft Windows [Version 6.1.7601]
    (c) Корпорация Майкрософт (Microsoft Corp.), 2009. Все права защищены.

    C:\Windows\System32>REG QUERY HKCU\Software\Microsoft\Windows NT\CurrentVersion\
    Winlogon /s
    Ошибка. Неверный синтаксис.
    Введите "REG QUERY /?" для получения справки по использованию.

    C:\Windows\System32>
    Чтобы исправить ситуацию,заключаем имя раздела в кавычки.
    Код (Text):
    REG QUERY "HKCU\Software\Microsoft\Windows NT\CurrentVersion
    \Winlogon" /s
    И вот уже результат веселее:
    Код (Text):
    Microsoft Windows [Version 6.1.7601]
    (c) Корпорация Майкрософт (Microsoft Corp.), 2009. Все права защищены.

    C:\Windows\System32>REG QUERY "HKCU\Software\Microsoft\Windows NT\CurrentVersion
    \Winlogon" /s

    HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
        ExcludeProfileDirs    REG_SZ    AppData\Local;AppData\LocalLow;$Recycle.Bin
        BuildNumber    REG_DWORD    0x1db1
        FirstLogon    REG_DWORD    0x0
        ParseAutoexec    REG_SZ    1


    C:\Windows\System32>

    Если что то не понятно или нужна справка под рукой
    _______________________________________________________


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

    Если нужна справка, а статьи под рукой нет-воспользуйтесь справкой cmd (команда_ /? )

    Справка по утилите reg.exe (команда: reg.exe /?)
    Код (Text):
    Microsoft Windows [Version 6.1.7601]
    (c) Корпорация Майкрософт (Microsoft Corp.), 2009. Все права защищены.

    C:\Windows\System32>reg.exe /?

    REG <операция> [Список параметров]

      <операция> [ QUERY   | ADD    | DELETE  | COPY    |
                       SAVE    | LOAD   | UNLOAD  | RESTORE |
                       COMPARE | EXPORT | IMPORT  | FLAGS ]

    Код возврата: (за исключением REG COMPARE)

      0 - Успешно
      1 - С ошибкой

    Для получения справки по определенной операции введите:

      REG <операция> /?

    Примеры:

      REG QUERY /?
      REG ADD /?
      REG DELETE /?
      REG COPY /?
      REG SAVE /?
      REG RESTORE /?
      REG LOAD /?
      REG UNLOAD /?
      REG COMPARE /?
      REG EXPORT /?
      REG IMPORT /?
      REG FLAGS /?

    C:\Windows\System32>
    А вот,например справка по команде REG QUERY.

    Водим такую команду:
    REG QUERY /?

    Получаем вот такой подробный список:
    Код (Text):
    Microsoft Windows [Version 6.1.7601]
    (c) Корпорация Майкрософт (Microsoft Corp.), 2009. Все права защищены.

    C:\Windows\System32>REG QUERY /?

    REG QUERY имя_раздела [/v [имя_параметра] | /ve] [/s]
              [/f данные [/k] [/d] [/c] [/e]] [/t тип] [/z] [/se разделитель]

      имя_раздела [\\компьютер\]полное_имя_раздела
                  компьютер          - имя удаленного компьютера, по умолчанию
                                       используется текущий компьютер.
                                       На удаленных компьютерах доступны только
                                       разделы HKLM и HKU
                  полное_имя_раздела - путь в форме корневой_раздел\подраздел
                     корневой раздел - [ HKLM | HKCU | HKCR | HKU | HKCC ]
                     подраздел       - полное имя раздела реестра в указанном
                                       корневом_разделе

      /v          Запросы требуемых параметров в указанном разделе реестра.
                  Если не указано, запрашиваются все параметры раздела.

                  Аргумент этого параметра может быть необязательным, только если
                  задан параметр /f. Это указывает на поиск только в именах
                  параметров реестра.

      /ve         Запросы параметра по умолчанию или с пустым именем (по
                  умолчанию).

      /s          Запрос всех вложенных подразделов и их параметров (аналогично
                  команде dir /s).

      /se         Указание разделителя (длиной в 1 знак) в строке данных для
                  REG_MULTI_SZ. По умолчанию в качестве разделителя используется
                  "\0".

      /f          Данные или шаблон для поиска.
                  Если строка содержит пробелы, заключайте ее в кавычки.
                  Значение по умолчанию: "*".

      /k          Указывает на поиск только в именах разделов.

      /d          Указывает на поиск только в данных.

      /c          Указывает на учет регистра знаков при поиске.
                    По умолчанию при поиске регистр знаков не учитывается.

      /e          Указывает на возврат только точных совпадений.
                    По умолчанию возвращаются все совпадения.

      /t          Указывает тип данных параметра реестра.
                  Допустимые типы:
                    REG_SZ, REG_MULTI_SZ, REG_EXPAND_SZ,
                    REG_DWORD, REG_QWORD, REG_BINARY, REG_NONE
                  По умолчанию будут использоваться все типы.

      /z          Подробности: отображение числового кода типа имени значения.

    Примеры:

      REG QUERY HKLM\Software\Microsoft\ResKit /v Version
        Отображение значения параметра реестра Version

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

      REG QUERY HKLM\Software\Microsoft\ResKit\Nt\Setup /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 HKLM\SOFTWARE /ve
        Отображение параметра и данных для пустого значения (по умолчанию)
        в разделе HKLM\SOFTWARE

    C:\Windows\System32>


    Использование утилиты reg.exe в cmd скриптах


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


    Преимущество данного средства налицо,давайте рассмотрим пример.
    Например всем известно, что когда мы выполняем проверку целостности системных файлов утилитой sfc (обзор в этой теме) ,а у нас при этом дитсрибутив в виртуальном приводе то система не выполнит проверку до тех пор,пока мы в реестре не укажем путь где лежит дистрибутив.

    Можно сделать это вручную через редактор реестра.
    Можно использовать несколько команд reg.exe по очереди.
    Но в данном случае нам пригодится такой скрипт:

    Код (Text):
    echo off &Chcp 1251 >nul
    for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%i:\WIN51 set CDROM=%%i:
    if not exist %cdrom%\win51.* (chcp 1251 >nul& msg * Вам необходимо вставить диск с вашей копией Windows XP и запустить файл заново,либо смонтировать образ диска в виртуальный привод!& chcp 866>nul&exit) else goto koz

    :koz


    chcp 1251 >nul
    echo Сохраняю резервную копию реестра...
    reg export "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup" %systemdrive%\install.reg
    echo Проверяю путь к диску...
    echo Устанавливаю значения реестра...
    reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup" /v ServicePackSourcePath /t reg_sz /d %cdrom%\ /f
    echo Устанавливаю значения реестра...
    reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup" /v "Installation Sources" /t reg_sz /d %cdrom%\ /f
    echo Устанавливаю значения реестра...
    reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup" /v SourcePath /t reg_sz /d %cdrom%\ /f


    msg * Дождитесь окончания проверки,потом нажмите любую клавишу(кликнув мышью по окну консоли сделайте его активным).Если проверка остановилась на одном месте более 15 минут -сообщите хэлперу.
    chcp 866 >nul
    ping 127.0.0.1 -n 3 >nul
    sfc /scannow
    pause

    reg import %systemdrive%\install.reg
    del /q %systemdrive%\install.reg
    exit
    Утилиту reg.exe можно с пользой использовать при написании разного рода скриптов.

    Заострять внимание на том,как научиться писать скрипты самостоятельно в этой теме я не стану,могу лишь порекомендовать команду help для изучения.


    Если в процессе чтения или при неудачных попытках применить полученную информацию в теме вы столкнулись с какими нибудь сложностями -то можете задавать свои вопросы в этом разделе.
     
    Последнее редактирование: 20 ноя 2013
    8 пользователям это понравилось.
  2. Stabreka
    Оффлайн

    Stabreka Новый пользователь

    Сообщения:
    1
    Симпатии:
    0
    Failed to create key HKEY_LOCAL_MACHINE / SOFTWARE /Wow6432Node /Rockstar Games /Grand Theft Auto V что делать ?
     
  3. Kиpилл
    Оффлайн

    Kиpилл Команда форума Администратор

    Лучший автор месяца

    Сообщения:
    12.216
    Симпатии:
    4.978
    А сформулируйте вопрос поконкретнее?
    Вам помочь создать раздел?
    В чем проблема?
     
  4. Kиpилл
    Оффлайн

    Kиpилл Команда форума Администратор

    Лучший автор месяца

    Сообщения:
    12.216
    Симпатии:
    4.978
    Последнее редактирование модератором: 23 апр 2015
  5. orderman
    Оффлайн

    orderman Активный пользователь

    Сообщения:
    1.159
    Симпатии:
    1.396
    Koza Nozdri, если я правильно понял у Stabreka, проблема с установкой GTA V. Вероятнее всего у него в имени пользователя есть кириллица, поэтому и не создается.
     
  6. Kиpилл
    Оффлайн

    Kиpилл Команда форума Администратор

    Лучший автор месяца

    Сообщения:
    12.216
    Симпатии:
    4.978
    Возможно,подождем что скажет @Stabreka
     

Поделиться этой страницей