Разное

Reg delete пример: REG DELETE удаление ключей в реестре

02.01.1972

Содержание

Reg Delete или Удаление записей в реестре через bat-файл

В статье, посвященной команде Reg Add, мы разобрали как можно добавить запись в реестр  Windows через командную строку или посредством bat-файла. Существует обратная команда, позволяющая удалять ключи из реестра Windows, и называемая Reg Delete. Разберем синтаксис этой команды.

В общем виде команда Reg Delete выглядит так:

reg delete имя_раздела [/v имя_записи|/ve|/va] [/f]

Разберем синтаксис подробнее:

имя_раздела — указывается раздел, в котором находятся нужные ключи реестра. Фактически, путь к этим ключам. Если в пути встречаются пробелы между символами, его необходимо заключить в кавычки.

Например, на скриншоте ниже мы видим, что переменные реестра, относящиеся к программе 7-Zip лежат в ветке HKEY_LOCAL_MACHINE\SOFTWARE\7-Zip. Корневой раздел надо указывать в сокращенном виде: HKLM, HKCU, HKCR, HKU или HKCC.

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

/ve — удалять безымянные параметры.

/va — запрашивать все параметры данного раздела.

/f — удалять принудительно без дополнительного предупреждения.

Если операцию необходимо провести на удаленном компьютере, то перед именем раздела необходимо добавить имя компьютера вот в таком виде \\имя_компьютера\имя_раздела. Дальнейший синтаксис команды остается без изменений.

Пример использования команды Reg Delete:

reg delete \\Test-PC\HKLM\SOFTWARE\TEST /v ABC

Данная команда удалит параметр ABC в разделе HKEY_LOCAL_MACHINE\SOFTWARE\TEST на компьютере Test-PC. Если удаление происходит на локальном компьютере, то достаточно

reg delete HKLM\SOFTWARE\TEST /v ABC

Если нам нужно удалить весь раздел TEST целиком, то можно использовать команду

reg delete HKLM\SOFTWARE\TEST

Как видим, команда Reg Delete не сложна в использовании. Тем не менее, нужно соблюдать осторожность, поскольку бездумное удаление ключей и разделов реестра способно оказать негативное влияние на операционную систему и софт в ней.

REG – редактирование реестра в командной строке.

Утилита командной строки REG.EXE присутствует во всех версиях операционных систем семейства Windows и используется для добавления, изменения, удаления и просмотра параметров и ключей реестра.

Формат командной строки:

REG [Список параметров]

Операции:

QUERY — поиск и отображение содержимого реестра.

ADD — добавление новых разделов и записей в реестр.

DELETE — удаление разделов и записей из реестра.

COPY — копирование разделов и записей из реестра.

SAVE — сохранение данных реестра в файл.

LOAD — загрузка куста реестра

UNLOAD — выгрузка куста реестра в файл, ранее загруженный операцией LOAD.

RESTORE — восстановление данных реестра из файла.

COMPARE — сравнение разделов и параметров реестра.

EXPORT — экспорт данных реестра в .reg-файл.

IMPORT — импорт данных реестра из .reg-файла.

FLAGS — отображение или изменение флагов разделов реестра.

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

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

Для каждой операции, задаваемой в командной строке REG, используются свои параметры. Для получения справки по определенной операции введите:

REG /?

Результат выполнения операции зависит от прав пользователя по отношению к данным реестра. Редактирование реестра является потенциально опасной операцией и при необдуманных или ошибочных действиях может привести к неработоспособности системы. Прежде, чем вносить какие-либо изменения в реестр, нужно сделать его резервную копию и освоить процедуру восстановления системы в случае ее краха по причине неверного содержимого реестра, в том числе, и для случаев, когда загрузку Windows выполнить невозможно.

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 /? — отобразить справку по использованию.

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

reg query \\SERVER\HKLM\Software\Microsoft\Windows\CurrentVersion\Run — отобразить содержимое раздела автоматически запускаемых программ для всех пользователей удаленного компьютера SERVER. Для успешного выполнения команды необходимо наличие соответствующих прав пользователя по отношению к удаленной системе и на удаленном компьютере должна быть запущена служба RemoteRegistry (Удаленный реестр).

Пример отображаемой информации:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
RTHDVCPL REG_SZ «C:\Program Files\Realtek\Audio\HDA\RtkNGUI64.exe» -s
Acronis Scheduler2 Service REG_SZ «C:\Program Files (x86)\Common Files\Acronis\Schedule2\schedhlp. exe»
COMODO Internet Security REG_SZ C:\Program Files\COMODO\COMODO Internet Security\cistray.exe
StartCN REG_SZ «C:\Program Files\AMD\CNext\CNext\cnext.exe» atlogon

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

reg query hklm\system\currentcontrolset\control\safeboot /s /f «Adapter» /d — искать в данных строку Adapter в разделе реестра с параметрами безопасного режима загрузки Windows.

REG QUERY «HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders» /v «Start Menu» — отобразить расположение папки ”Главное меню” текущего пользователя.

REG QUERY HKCU\Console\ — отобразить параметры командной строки текущего пользователя.

REG QUERY HKCU\Console /v ScreenColors — отобразить параметр, определяющий цвет фона и цвет символов окна командной строки текущего пользователя.

Reg Query «HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion» /V ProductName — отобразить содержимое параметра реестра с названием Windows. Пример отображаемой информации при выполнении команды в среде Windows 10 Pro:

ProductName REG_SZ Windows 10 Pro

REG ADD — добавить или заменить существующий параметр реестра.

Формат команды:

REG ADD [/v | /ve] [/t ] [/s ] [/d данные>] [/f] [/reg:32 | /reg:64]

Параметры командной строки:

имя_раздела — [\\\]. Компьютер — имя удаленного компьютера. Если оно опущено, то по умолчанию используется локальный компьютер. На удаленном компьютере доступны только корневые разделы 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 — Принудительно перезаписывает существующую запись реестра без запроса подтверждения. % — Добавляет параметр (имя: Path, тип: REG_EXPAND_SZ, данные: %systemroot%)

REG add HKCU\Console /v ScreenColors /t REG_DWORD /d 0xf0 — изменить настройки консоли текущего пользователя – черные буквы на белом фоне. Для записи данных в уже существующий параметр реестра потребуется подтверждение на запрос:

Параметр ScreenColors уже существует, заменить (Y — да/N — нет)?

Для подавления запроса необходимо использовать параметр /f:

REG add HKCU\Console /v ScreenColors /t REG_DWORD /d 0xf0 /f

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

REG DELETE — удалить существующий параметр реестра.

Формат команды:

REG DELETE [/v | /ve | /va] [/f] [/reg:32 | /reg:64]

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

Раздел — КОРЕНЬ\. КОРЕНЬ — [ HKLM | HKCU | HKCR | HKU | HKCC ]. Подраздел — полное имя подраздела реестра в указанном корневом разделе.

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

/ve — Удаляет пустое имя параметра (по умолчанию).

/va — Удаляет все параметры в указанном разделе.

/f — Выполняет принудительное удаление без запроса подтверждения.

/reg:32 — Указывает, что к разделу реестра следует обращаться с помощью представления для 32-разрядных приложений.

/reg:64 — Указывает, что к разделу реестра следует обращаться с помощью представления для 64-разрядных приложений.

Примеры:

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

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

REG EXPORT — экспорт данных реестра в файл.

Формат команды:

REG EXPORT [/y] [/reg:32 | /reg:64]

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

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

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

/reg:32 — Указывает, что к разделу реестра следует обращаться с помощью представления для 32-разрядных приложений.

/reg:64 — Указывает, что к разделу реестра следует обращаться с помощью представления для 64-разрядных приложений.

Примеры:

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

REG EXPORT HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run C:\saved\autoruns.reg — экспорт параметров автоматического запуска приложений для всех пользователей системы.

REG IMPORT — импорт данных реестра из файла.

Формат команды:

REG IMPORT [/reg:32 | /reg:64]

имя_файла — путь и имя файла с данными для импорта. Импорт возможен только для локального компьютера.

Примеры:

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

REG SAVE — сохранение данных реестра в файл.

Формат команды:

REG SAVE [/y] [/reg:32 | /reg:64]

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

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

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

/reg:32 — Указывает, что к разделу реестра следует обращаться с помощью представления для 32-разрядных приложений.

/reg:64 — Указывает, что к разделу реестра следует обращаться с помощью представления для 64-разрядных приложений.

Примеры:

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

REG SAVE HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run C:\saved\autoruns.hiv — сохранение параметров автоматического запуска приложений для всех пользователей системы в файл autoruns.hiv в каталоге saved диска C:.

REG RESTORE — восстановление данных реестра их файла.

Для восстановления данных реестра используется содержимое файла, созданного при выполнении команды REG SAVE

Формат команды:

REG RESTORE [/y] [/reg:32 | /reg:64]

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

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

Пример:

REG RESTORE HKLM\Software\Microsoft\ResKit NTRKBkUp.hiv — восстановить содержимое реестра из файла NTRKBkUp.hiv текущего каталога.

Команды REG IMPORT/EXPORT и REG RESTORE/SAVE близки по назначению, однако используют разные форматы данных.

REG LOAD — загрузка данных реестра из файла куста.

Для загрузки используется файл куста реестра, полученный с помощью команды REG SAVE, или другой файл куста реестра, например, скопированный с другого компьютера.

Формат командной строки:

REG LOAD [/reg:32 | /reg:64]

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

имя_файла — путь и имя файла куста, подлежащего загрузке.

Примеры:

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

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

REG LOAD HKU\TEMP «C:\Documents and Settings\Default User\NTUSER.DAT» — загрузить куст во временный раздел реестра.

REG ADD HKU\TEMP\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /v newUserProfile /t REG_EXPAND_SZ /d «D:\setup.cmd» /f — выполнить запись во временном разделе.

REG UNLOAD HKU\TEMP — выгрузить временный раздел. При этом, выполненные изменения содержимого реестра будут сохранены в файле куста.

Загрузка и выгрузка данных с использованием файлов кустов позволяет редактировать данные реестра поддерживаемого формата, в том числе и ”чужой” операционной системы. В качестве файлов кустов можно использовать файлы из каталога \Windows\System32\config\ сторонней Windows, что позволяет восстановить ее работоспособность в некоторых случаях, требующих изменения параметров реестра, при невозможности загрузки и использования собственного редактора.

REG COMPARE — сравнение двух разделов данных реестра.

Формат командной строки:

REG COMPARE [/v | /ve] [вывод] [/s] [/reg:32 | /reg:64]

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

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

/ve — Сравнение параметров раздела с пустым именем (по умолчанию).

/s — Сравнение всех подразделов и параметров.

/reg:32 — Указывает, что к разделу реестра следует обращаться с помощью представления для 32-разрядных приложений.

/reg:64 — Указывает, что к разделу реестра следует обращаться с помощью представления для 64-разрядных приложений.

Вывод — формат выводимых различий — [/oa | /od | /os | /on]
/oa — Вывод всех различий и совпадений.
/od — Вывод только различий.
/os — Вывод только совпадений.
/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 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network /s — Сравнивает отличия параметров для безопасного режима загрузки и безопасного режима с поддержкой сети. REG COMPARE \\SERVER\HKLM\Software\MyCo \\. /s — Сравнивает все подразделы и значения параметров в разделе HKLM\Software\MyCo реестра на компьютере SERVER с аналогичным разделом на текущем компьютере.

reg compare HKLM\Software\Microsoft\Windows\CurrentVersion\Run \\192.168.1.1\HKLM\Software\Microsoft\Windows\CurrentVersion\Run — Сравнивает список автоматически стартующих программ для всех пользователей локального компьютера и удаленного компьютера с IP адресом 192.168.1.1. Для успешного выполнения команды на удаленном компьютере должна быть запущена служба ”Удаленный реестр”. Пример отображаемой информации с результатами сравнения:

> Параметр: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run RTHDVCPL REG_SZ «C:\Program Files\Realtek\Audio\HDA\RtkNGUI64.exe» -s

> Параметр: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run Acronis Scheduler2 Service REG_SZ «C:\Program Files (x86)\Common Files\Acronis\Schedule2\schedhlp. exe»

> Параметр: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run COMODO Internet Security REG_SZ C:\Program Files\COMODO\COMODO Internet Security\cistray.exe

Результат сравнения: не совпадают

Операция успешно завершена.

REG FLAGS — просмотр, установка и сброс флагов реестра.

Формат командной строки:

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

имя_раздела — «HKLM\Software»[\подраздел] (ограничено этими разделами только на локальном компьютере). подраздел — полное имя раздела реестра в узле HKLM\Software.

DONT_VIRTUALIZE DONT_SILENT_FAIL RECURSE_FLAG — Используется вместе с параметром SET; флаги, указанные в командной строке, будут установлены, не указанные — удалены.

/reg:32 — Указывает, что к разделу реестра следует обращаться с помощью представления для 32-разрядных приложений.

/reg:64 — Указывает, что к разделу реестра следует обращаться с помощью представления для 64-разрядных приложений.

Примеры:

reg flags HKLM\Software query — Отображает текущие флаги раздела HKLM\Software.

Пример отображаемой информации о флагах:

HKEY_LOCAL_MACHINE\Software
REG_KEY_DONT_VIRTUALIZE: CLEAR
REG_KEY_DONT_SILENT_FAIL: CLEAR
REG_KEY_RECURSE_FLAG: CLEAR

Операция успешно завершена.

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

Весь список команд CMD Windows

Как удалить ключ в реестре из командной строки

Windows
  • Bot
  • 06.02.2020
  • 4 879
  • 0
  • 13
  • 13
  • 0
  • Содержание статьи

Описание

В некоторых ситуациях, бывает необходимо удалить какой-либо элемент из реестра, но сделать это надо не с помощью всем известной утилиты regedit, а через bat скрипт или с помощью командой строки. В данной статье пойдет речь как раз об этом.

Примеры

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

reg /?

Чтобы удалить параметр в реестре выполните следующую команду:

REG DELETE HKCU\Software\WindowsFAQ\Test /v Path

Эта команда удалит параметр Path, который находится в разделе HKCU\Software\WindowsFAQ\Test. Обратите внимание на то, что при выполнении этой команды выдается запрос на подтверждение удаления. При работе команды в пакетном файле его исполнение может быть прервано для подтверждения пользователем удаления параметра. Чтобы подтверждение не выводилось используйте /f. Этот ключ отключает вывод подтверждения.
При помощи reg.exe можно удалить сразу целый раздел, вместе со всеми параметрами и подразделами, находящимися в нем. Для этого используйте следующую команду:

REG DELETE HKCU\Software\WindowsFAQ

Результатом работы этой команды станет удаление раздела WindowsFAQ вместе со всеми подразделами и параметрами. Обратите внимание на то, что, как и в первом случае, выполнение команды останавливается на запросе подтверждения удаления раздела. Чтобы отключить этот запрос добавьте к команде /f, т.е. команда будет выглядеть следующим образом:

REG DELETE HKCU\Software\WindowsFAQ /f

Будьте внимательны с удалением параметров и разделов, по неосторожности можно удалить что-то нужное, особенно, когда отключено подтверждение удаления.

Управление реестром с помощью командной строки

В общем виде синтаксис команды 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:.

 

К разделу

Утилита REG в Windows

REG.EXE — Программа редактирования системного реестра из командной строки Windows

Требуются права администратора: нет (asInvoker)

Виртуализация UAC: отключена

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

Для работы с программой или отдельными ее возможностями требуются следующие привилегии:

  • SeRestorePrivilege
  • SeBackupPrivilege

Основной синтаксис программы reg.exe следующий:

 reg.exe команда \\компьютер\ветвь реестра параметры.

Если же вы изменяете реестр локального компьютера, то название компьютера указывать необязательно.

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

При указании ветви реестра вместо названия корневого раздела нужно указывать его обозначение, принятое в программе:

  • вместо HKEY_CLASSES_ROOT указывается HKCR;
  • вместо HKEY_CURRENT_USER указывается HKCU;
  • вместо HKEY_LOCAL_MACHINE указывается HKLM;
  • вместо HKEY_USERS указывается HKU;
  • вместо HKEY_CURRENT_CONFIG указывается HKCC.

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

  • /v параметр — если вам нужно выполнить добавление, удаление или другую операцию с конкретным параметром реестра, то нужно воспользоваться данным параметром.
  • /ve — при необходимости добавления, удаления или другой операции с параметром (По умолчанию) ветви реестра нужно указать параметр /ve.
  • /d значение — если вам нужно добавить значение параметра, указать это значение можно при помощи данного параметра.
  • /t тип_параметра — при добавлении параметра нужно указать его тип. С помощью данной программы вы можете создавать параметры следующих типов: REG_SZ, REG_MULTI_SZ, REG_EXPAND_SZ, REG_DWORD, REG_BINARY, REG_NONE (заметьте, что параметры типа REG_NONE в редакторе реестра regedit.exe создавать нельзя).
  • /f — этот параметр можно использовать со всеми командами. Если он установлена, то весь вывод программы на экран будет подавляться.

Добавление параметров реестра с помощью утилиты REG

Чтобы добавить или изменить параметр реестра, нужно воспользоваться командой вида:

reg.exe add ветвь_реестра /v параметр /t тип /d значение

Для добавления или изменения параметра (По умолчанию) нужно воспользоваться командой вида:

reg.exe add ветвь_реестра /ve /d значение

Чтобы добавить ветвь реестра, достаточно воспользоваться командой вида reg.exe add ветвь_реестра.

Удаление параметров реестра с помощью утилиты REG

Чтобы удалить параметр реестра, нужно воспользоваться командой

reg delete ветвь_реестра /v параметр

Для удаления параметра (По умолчанию) нужно воспользоваться командой

reg delete ветвь_реестра /ve

Чтобы удалить все параметры ветви реестра, нужно воспользоваться командой

reg delete ветвь_реестра /va

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

reg delete ветвь_реестра

Просмотр значения параметра реестра с помощью утилиты REG

Также с помощью данной программы можно просмотреть содержимое параметра или ветви реестра. Для этого достаточно воспользоваться командой reg query ветвь_реестра, если нужно просмотреть значения всех параметров реестра, либо добавить к данной команде параметры /v параметр или /ve для просмотра значения определенного параметра.

При указании данной команды для просмотра содержимого ветви реестра можно воспользоваться параметром /s. Если он присутствует в команде, то перед вами отобразятся значения всех параметров соответствующей ветви реестра и ее дочерних подразделов.

Поиск в реестре с помощью утилиты REG

Несмотря на то, что эта возможность выделена в качестве отдельного раздела книги, для ее реализации используется уже знакомая нам команда — reg query ветвь_реестра. Чтобы выполнить поиск с ее помощью, нужно воспользоваться следующими параметрами.

  • /f шаблон_поиска — определяет строку, которую нужно найти. По умолчанию используется шаблон *.
  • /d — присутствие данного параметра говорит о том, что поиск нужно вести только в значениях параметров.
  • /k — наличие этого параметра говорит о том, что поиск нужно вести только в названиях разделов реестра.
  • /c — присутствие данного параметра говорит о том, что поиск нужно вести с соблюдением регистра.

Сравнивание значений параметров реестра с помощью утилиты REG

Данная возможность является уникальной для программы reg.exe (в программе regedit.exe такой возможности нет).

Чтобы сравнить значения двух параметров, нужно воспользоваться командой

reg compare ветвь_реестра_1 ветвь_реестра_2 /v параметр

Для сравнения значений двух параметров (По умолчанию) нужно воспользоваться командой

reg compare ветвь_реестра_1 ветвь_реестра_2 /ve

Чтобы сравнить значения всех параметров в ветви реестра, нужно воспользоваться командой

reg compare ветвь_реестра_1 ветвь_реестра_2

Для сравнения значений всех параметров в ветви реестра и дочерних подразделах данной ветви нужно воспользоваться командой

reg compare ветвь_реестра_1 ветвь_реестра_2 /s

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

  • /oa — выводить как различия, так и совпадения;
  • /od — выводить только различия;
  • /os — только совпадения;
  • /on — выводить только слово Different (если сравниваемые ветви различны) или Identical (если сравниваемые ветви идентичны).

Данная возможность является уникальной для программы reg.exe. С ее помощью вы сможете скопировать содержимое одной ветви реестра в другую.

Чтобы скопировать содержимое ветви реестра и ее дочерних подразделов, достаточно воспользоваться командой

reg copy ветвь_реестра_1 ветвь_реестра_2 /s

Экспорт и импорт реестра с помощью утилиты REG

Еще одной возможностью программы является экспорт ветви реестра в REG-файл и импортирование REG-файла обратно в реестр.

Чтобы выполнить экспорт ветви реестра, достаточно воспользоваться командой

reg export ветвь_реестра путь_к_файлу

Для импорта REG-файла достаточно воспользоваться командой

reg export путь_к_файлу

Работа с файлами кустов реестра с помощью утилиты REG

Кроме того, с помощью программы reg.exe можно выполнять экспорт и импорт реестра в файлы кустов. Для этого достаточно воспользоваться командами:

reg save ветвь_реестра путь_к_файлу и reg restore ветвь_реестра путь_к_файлу

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

Чтобы загрузить файл куста, нужно воспользоваться командой

reg load ветвь,_в_которую_будет_загружен_куст путь_к_файлу_куста

Чтобы выгрузить файл куста, нужно воспользоваться командой

reg load ветвь_реестра,_в_которую_загружен_куст

Изменение флагов ветви реестра с помощью утилиты REG

Данная возможность является уникальной для программы reg.exe. С ее помощью можно изменить или просмотреть состояние дополнительных флагов определенной ветви реестра. Заметьте, что флаги поддерживают только дочерние подразделы ветви реестра HKLM\SOFTWARE.

Программа reg.exe позволяет просмотреть значения следующих флагов: DONT_VIRTUALIZE, DONT_SILENT_FAIL, RECURSE_FLAG. Например, флаг DONT_VIRTUALIZE позволяет запретить виртуализацию соответствующей ветви реестра (об этом далее).

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

reg flags ветвь_реестра query

Для установления определенных флагов нужно воспользоваться командой

reg flags ветвь_реестра set флаги_через_пробел

При этом если вы не укажете флаг, он будет снят.

Чтобы снять все флаги, нужно воспользоваться командой

reg flags ветвь_реестра set

Виртуализация каталогов реестра с помощью утилиты 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

Рассмотрим ряд примеров использования данной программы.

  • reg.exe add «HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer» /v «link» /t REG_BINARY /d 00000000 — создает параметр REG_BINARY-типа link и присваивает ему значение 0. Команда создает его в ветви HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer. После этого при создании ярлыка на файл или папку к названию ярлыка больше не будет добавляться строка Ярлык для.
  • reg.exe add «\\NOUTBOOK\HKLM\SOFTWARE\Classes\Directory\Background \shellex\ContextMenuHandlers\Flip3D» /ve /d «{3080F90E-D7AD-11D9-BD98-0000947B0257}» /f — добавляет значение в параметр (По умолчанию) соответствующей ветви реестра. После выполнения данной команды в контекстном меню Рабочего стола появится строка, с помощью которой можно вызвать окно Flip3D в режиме залипания.
  • reg delete «HKLM\Software\Microsoft\Command Processor» /v autorun /f — удаляет параметр Autorun из ветви реестра, содержащей настройки программы cmd.exe. Если в данной ветви реестра присутствует параметр autorun, то программы, записанные в этом параметре, будут автоматически запускаться при запуске командного процессора cmd.exe. Для примера создайте данный параметр и присвойте ему значение cmd.exe. Вы увидите пример рекурсии в действии.
  • reg query «HKLM\SYSTEM\CurrentControlSet\Control\FileSystem» — отображает на экране список хранящихся в реестре параметров, настраивающих работу файловой системы NTFS.
  • reg compare «\\ni\HKLM\SOFTWARE\Policies» «HKLM\SOFTWARE\Policies» /s — сравнивает содержимое ветви реестра, содержащей параметры групповых политик (и дочерних подразделов данной ветви реестра), компьютера NI с параметрами ветви локального компьютера.
Источник: http://www.onestyle.com.ua/reg

Удаление записей реестра с помощью reg delete



Я пытаюсь удалить значения реестра с помощью reg delete в пакетной команде. Проблема, с которой я столкнулся, заключается в том, что я не могу удалить это значение. Вот что я пытаюсь сделать:

REG DELETE "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ports\" /v C:\convertdoc\output\SilentPrintTemp\126017829image-gif3.ps

В идеале я хочу удалить все записи с помощью:

REG DELETE "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ports\" /v  C:\convertdoc\output\SilentPrintTemp\*.ps

Я пробовал это несколькими разными способами и с разными параметрами. Обычно двойное «» останавливает команду в конце клавиши. Так что, может быть, мой синтаксис ошибочен?

batch-file registry dos
Поделиться Источник Dk 68 61 63 6b     16 апреля 2013 в 18:17

1 ответ


  • Удаление раздела реестра и его подразделов с помощью пакета

    Мне нужно удалить раздел реестра (включая его подразделы) из batch file. Примеры, которые я нашел, привели меня к следующему коду, но ключ остается? @ECHO OFF REG DELETE HKEY_CURRENT_USER\Software\Autodesk\AutoCAD\R18.0\ACAD-8001:409\Profiles\STDPROFILE /V

  • Добавьте файл реестра (*. reg) в проект установки

    Я вижу, как обновить реестр вручную, щелкнув правой кнопкой мыши на проекте, выбрав вид, а затем реестр, но у меня есть много изменений реестра, которые мне нужно включить в мой проект установки, и я уже экспортировал каждый из них в файл *.reg. Я не хочу снова проходить через них и добавлять…



1

Редактировать:

Сохраните это с расширением .bat и запустите его:

@echo off
setlocal
set "ports=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ports"

rem get only the first token of each line of "reg query"
for /f %%I in (
    'reg query "%ports%"'
) do (
    echo(%%I | findstr /i "c:\\convertdoc\\output\\silentprinttemp\\.*\.ps" >NUL && (
        rem (if "findstr" didn't exit with an abnormal error code)
        echo Deleting item %%I
        reg delete "%ports%" /v "%%I" /f
    )
)

Поделиться rojo     16 апреля 2013 в 20:20


Похожие вопросы:


Удаление реестра, начинающегося с XXX

Первый раз публикую, так что полегче со мной. 🙂 Например, мне нужно удалить реестр, который начинается с ‘MikePike’. Он должен проверить, есть ли что-нибудь, что имеет это в своем названии, потому…


Модификация реестра Windows через файл .REG-копирование и удаление

У меня есть этот текст в файле .reg : Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\program] item2=item1 item3=item1 В разделе реестра [HKEY_CURRENT_USER\Software\program] есть…


Чтение файла*. reg с помощью VC++ MFC

Я пытаюсь прочитать файл реестра (*. reg) с помощью VC++ MFC . Теперь я пытаюсь прочитать файл реестра строка за строкой . Так есть ли какой-нибудь другой альтернативный способ чтения файла ?…


Удаление раздела реестра и его подразделов с помощью пакета

Мне нужно удалить раздел реестра (включая его подразделы) из batch file. Примеры, которые я нашел, привели меня к следующему коду, но ключ остается? @ECHO OFF REG DELETE…


Добавьте файл реестра (*. reg) в проект установки

Я вижу, как обновить реестр вручную, щелкнув правой кнопкой мыши на проекте, выбрав вид, а затем реестр, но у меня есть много изменений реестра, которые мне нужно включить в мой проект установки, и…


Reg query/Reg delete key with embedded & failure

Я пытаюсь выполнить запрос реестра в соответствии со следующим в среде Win XP reg v3.0 via batch file: reg query /v HKLM\SOFTWARE\DSAC\usb\vid_08ec&pid_204c Я получаю ошибки аргумента, усекающие…


Сбой импорта файлов реестра (.reg)

У меня возникли проблемы с импортом .reg файлов на Windows Server 2012. Сценарий работает на сервере 2008, работает при вводе в командной строке PowerShell и работает при запуске double-click на…


Удаление раздела реестра с помощью пакетного скрипта из Uninstall

У меня есть пакетный скрипт, который удаляет определенные разделы реестра, он работает как сам скрипт, а также из командной строки. Однако в рамках деинсталлятора (Installshield) один из 2 разделов…


Как вызвать «reg delete KEY /f» from C#

Пожалуйста, спасите мое здравомыслие, объяснив мне, почему мой код не работает, потому что в настоящее время я нахожусь в (╯°□°)╯︵ ┻━┻ режим. Задание: удалить раздел реестра без запроса от C#….


Запрос нескольких записей из реестра одновременно (с помощью reg-запроса)

Я запускаю последующие reg запросы, и это занимает довольно много времени: reg query HKLM\SOFTWARE\Classes /s /f foo reg query HKLM\SOFTWARE\Classes /s /f bar Есть ли какой-нибудь способ поиска по…

Редактирование реестра Windows с помощью Reg.exe в Windows 10/8/7

Вы можете редактировать реестр Windows с помощью Консольного инструмента реестра или reg.exe. Reg.exe – это утилита командной строки, с помощью которой вы можете выполнить практически все задачи, которые вы в противном случае можете выполнить с помощью regedit.exe . Reg.exe в Windows 10/8/7 может быть полезен, когда вы хотите быстро внести изменения в реестр Windows, не открывая редактор реестра и более того, и имеет дополнительную возможность непосредственного использования в сценариях.

командная строка Reg.exe


Чтобы запустить reg.exe, откройте cmd, введите reg /? и нажмите Enter. Это покажет вам список параметров, синтаксис и коды возврата.

Команды reg включают в себя:

  • Reg добавить
  • Рег удалить
  • Рег сравнить
  • Reg копия
  • Рег экспорт
  • Рег импорт
  • Рег нагрузки
  • Reg запрос
  • Рег реставрация
  • Reg сохранить
  • Рег разгрузить.

Например:

Чтобы добавить новый подраздел или запись в реестр, используйте:

 reg add [/ve] [/ t DataType] [/ s Разделитель] [/ d Data] [/ f] 

Примеры:

Чтобы добавить ключ HKLM \ Software \ MyCo на удаленный компьютер ABC, введите:

 REG ADD \\ ABC \ HKLM \ Software \ MyCo 

Чтобы добавить запись реестра в HKLM \ Software \ MyCo со значением с именем Data типа REG_BINARY и данными fe340ead, введите:

 REG ADD HKLM \ Software \ MyCo/v Data/t REG_BINARY/d fe340ead 

Чтобы добавить многозначную запись реестра в HKLM \ Software \ MyCo с именем значения MRU типа REG_MULTI_SZ и данными факса \ 0mail \ 0 \ 0, введите:

 REG ADD HKLM \ Software \ MyCo/v MRU/t REG_MULTI_SZ/d fax \ 0mail \ 0 \ 0 

Чтобы добавить расширенную запись реестра в HKLM \ Software \ MyCo со значением имени Path типа REG_EXPAND_SZ и данными% systemroot%, введите:

 REG ADD HKLM \ Software \ MyCo/v Path/t REG_EXPAND_SZ/d ^% systemroot ^% 

Чтобы удалить подраздел или записи из реестра, используйте .

 Reg delete [/ v ValueName ] [/ f] 

Примеры:

Чтобы удалить раздел реестра Timeout и все его подразделы и значения, введите:

 REG DELETE HKLM \ Software \ MyCo \ MyApp \ Timeout 

Чтобы удалить значение реестра MTU в папке HKLM \ Software \ MyCo на компьютере с именем ZODIAC, введите:

 REG DELETE \\ ZODIAC \ HKLM \ Software \ MyCo/v MTU 

Для полного чтения и подробностей посетите Microsoft Technet. Вы можете также прочитать этот пост о том, как редактировать реестр для другого пользователя.

Эти Основы реестра Windows и эта статья о подсказках реестра Windows также могут вас заинтересовать!

Удалить ключ реестра из командной строки

Команда Reg позволяет нам удалять ключи реестра и значения реестра из командной строки. Эту команду reg также можно использовать из командных файлов. Синтаксис операции удаления поясняется ниже с примерами.

Удалить значение реестра

 reg delete Путь к ключу_ реестра / v Имя_значения_ реестра 

Пример:

Удалите значение реестра ‘ CleanShutdown ‘ под ключом ‘ HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion0003 \

' 
 : \> reg удалить HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer / v CleanShutdown
Удалить значение реестра CleanShutdown (Да / Нет)? да
Операция успешно завершена.

Если вы хотите удалить раздел реестра без запроса подтверждения, добавьте к команде переключатель / f.

 reg delete Путь к ключу реестра / v Имя_значения реестра / f 

Пример:
В приведенном выше примере команда для удаления значения реестра без запроса подтверждения:

 c: \> reg delete HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Проводник / v CleanShutdown / f
Операция успешно завершена. 

Если в имени раздела реестра есть пробел, можно использовать двойные кавычки, как показано ниже.

 reg delete "Путь к ключу_ реестра" / v Имя_значения_реестра / f 

Пример:
Команда для удаления значения реестра ' TSAdvertise ' в разделе реестра 'HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server'

 reg delete "HKEYMINE_ \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server "/ v TSAdvertise / f 

Удалить раздел реестра

Удалить все разделы и значения реестра в разделе реестра:

 reg delete Registry_key_path 

Пример:
Удалить все значения реестра в разделе ключ 'HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Applets \ Regedit \ Favorites'

 reg удалить HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Applets \ Regedit \ Favorites 

Удалить все значения реестра в разделе реестра

 reg удалить RegistryKey / va 

, командная строка - Удалить ключ или значение реестра с помощью сценария CMD?

Я использую следующий метод.Это часть программы-рипера MRU для Windows XP, которая может помочь. Это текст командного файла, который запускается из CMD или с ярлыка. Он создает файл реестра, используя простое перенаправление эха, а затем импортирует его.

  REM *** НАЧАТЬ РЕГИСТРАЦИОННЫЙ ИЗМЕЛЬЧИТЕЛЬ ***
ECHO CREATING MRU REGISTRY
ЭХО.
 ECHO> "% TMP% \ MRUKILL.reg" Редактор реестра Windows версии 5.00
ECHO >> "% TMP% \ MRUKILL.reg" [-HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ Doc Find Spec MRU]
ЭХО >> "% TMP% \ MRUKILL.reg "[-HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FindComputerMRU]

УДАЛИТЬ *** ИМПОРТИРУЙТЕ ЭТО РЕГ, ЧТОБЫ УДАЛИТЬ ИХ КЛЮЧИ И ЗНАЧЕНИЯ ****
regedit "% TMP% \ MRUKILL.reg"
  

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

Эхо перенаправляются (> ) в файл, с одним > для первого перенаправления и >> для добавления в тот же файл.Знак - используется для удаления записи реестра. Вероятно, было бы хорошо оставить последнюю строку и просмотреть созданный файл перед импортом. Импорт можно выполнить в автоматическом режиме, но я не буду этого делать сам.

Заявление об ограничении ответственности: поскольку человек может серьезно повредить систему, удалив записи в реестре, необходима резервная копия образа диска, которая может вернуть систему в случае сбоя системы.

Правильные разрешения, повышения прав и некоторые записи в реестре не позволят пользователю просто уничтожить их без установки разрешений из-за их важности.

Вот часть «спроси пользователя», добавленная просто для удовольствия.

  ЭХО
 REM *** СПРОСИТЕ ПОЛЬЗОВАТЕЛЯ СНАЧАЛА ***
ECHO ВЫ ХОТИТЕ УДАЛИТЬ РЕГИСТРАЦИЮ MRUS?
SET / P Choice2 = введите «Y», чтобы изменить реестр, - -
ЭХО.
IF / I "% Choice2%" == "Y" НАЙТИ УДАЛЕНИЕ
ЭХО ОК, НУ, ТО Я НЕ БУДУ
ЭХО Автор
   REM *** ПОЛЬЗОВАТЕЛЬ РЕШИЛ ПРОТИВ ЭТОГО ***
ЭХО.
ПАУЗА
НАЧАТЬ ОТДЕЛКУ
  

Reg - Редактировать реестр - Windows CMD

Reg - Редактировать реестр - Windows CMD - SS64.com

Чтение, установка или удаление ключей и значений реестра, сохранение и восстановление из файла.REG файл.

 Синтаксис:

   REG QUERY [ ROOT  \]  RegKey   / V   ValueName  [/ s]  [ / F  Data  [/ K] [/ D] [/ C] [/ E] ]
       [/ T  DataType ] [/ Z] [/ SE  Separator ] [/ reg: 32 | / reg: 64]

   REG QUERY [ ROOT  \]  RegKey   / VE   [ / f  Data  [/ K] [/ D] [/ C] [/ E] ]  - / VE возвращает (по умолчанию ) стоимость
      [/ T  DataType ] [/ Z] [/ SE  Separator ] [/ reg: 32 | / reg: 64]
   
   REG ADD [ ROOT  \]  RegKey   / V   ValueName  [/ T  DataType ] [/ S  Separator ] [/ D  Data ] [/ F] [/ reg: 32] [ / reg: 64]
   REG ADD [ ROOT  \]  RegKey   / VE  [/ d  Data ] [/ F] [/ reg: 32 | / reg: 64]

   REG DELETE [ ROOT  \]  RegKey   / V   ValueName  [/ F]
   REG DELETE [ ROOT  \]  RegKey   / VE  [/ F] - удалить значение (по умолчанию)
   REG DELETE [ ROOT  \]  RegKey   / VA  [/ F] - удалить все значения под этим ключом

   REG COPY [\\  SourceMachine \ ] [ ROOT  \]  RegKey  [\\  DestMachine \ ] [ROOT \]  RegKey 

   REG EXPORT  [ROOT \] RegKey Имя файла .рег [/ Y] [/ reg: 32 | / reg: 64]
   REG IMPORT  Имя файла  .reg [/ reg: 32 | / reg: 64]
   REG SAVE [ ROOT  \]  RegKey FileName  .hiv [/ Y] [/ reg: 32 | / reg: 64]
   REG RESTORE  \\ MachineName \  [ ROOT ] \  KeyName FileName  .hiv [/ reg: 32 | / reg: 64]
   
   REG LOAD  KeyName   FileName  [/ reg: 32 | / reg: 64]
   REG UNLOAD  KeyName 
   
   REG СРАВНИТЬ [ ROOT  \]  RegKey  [ ROOT  \]  RegKey  [ / V   ValueName ] [ Output ] [/ s] [/ reg: 32 | / reg: 64]
   REG СРАВНИТЬ [ ROOT  \]  RegKey  [ ROOT  \]  RegKey  [ / VE ] [Вывод] [/ s] [/ reg: 32 | / reg: 64]

Ключ:
     КОРЕНЬ :
         HKLM = HKey_Local_machine (по умолчанию)
         HKCU = HKey_current_user
         HKU = HKey_users
         HKCR = HKey_classes_root

     ValueName : значение под выбранным RegKey для редактирования.(по умолчанию все ключи и значения)

   / C: поиск с учетом регистра.

   / D  Data : Фактические данные для хранения в виде «строки», целого числа и т. Д.

   / E: возвращать только точные совпадения, по запросу возвращаются все.

   / F: Добавить / Удалить - принудительно обновить без запроса «Значение существует, перезаписать Д / Н»
                    Запрос - укажите данные / шаблон для поиска, по умолчанию = "*"
                            Используйте двойные кавычки, если строка содержит пробелы./ K: Искать только в именах ключей.

   \\  Машина : Имя удаленной машины - без значений по умолчанию для текущей машины.
               На удаленных машинах доступны только HKLM и HKU.

     FileName : имя файла для сохранения или восстановления куста реестра.

     KeyName : имя ключа для загрузки файла куста. (Создание нового ключа)

     RegKey : ключ реестра. Имя строки.
               Они чувствительны к регистру при создании и нечувствительны к регистру при чтении./ S: запросить все подключи и значения.
   / S  Разделитель : символ для использования в качестве разделителя в значениях REG_MULTI_SZ, по умолчанию "\ 0"
   / SE  Разделитель : символ для использования в качестве разделителя в значениях REG_MULTI_SZ, по умолчанию "\ 0"

   / T  DataType : REG_SZ (по умолчанию) | REG_DWORD | REG_EXPAND_SZ | REG_MULTI_SZ
                  Щелкните, чтобы увидеть полный список, по умолчанию = все типы.

   / reg: 32: Заставить REG.exe читать / записывать в 32-разрядный реестр./ reg: 64: Заставить REG.exe читать / записывать в 64-разрядный реестр.

             По умолчанию 32-разрядный процесс (например, клиент SCCM или 32-разрядный установщик MSI)
             на 64-битной машине будет использоваться 32-битное представление реестра: HKLM \ SOFTWARE \ Wow6432Node
             Используйте переключатель / REG, чтобы обойти это. Подробнее см. Q305097.

     Вывод : / od (только различия) / os (только совпадают) / oa (все) / on (нет вывода)

   / V: запрос определенного значения ключа реестра, если он опущен, запрашиваются все значения ключа./ VE: сравнить или установить пустое имя значения (по умолчанию)

   / Y: принудительная перезапись существующего файла без запроса.

   / Z: Verbose - показывает числовой эквивалент типа  valueename . 

Любую из вышеперечисленных команд можно запустить на удаленном компьютере, добавив \\ MachineName в командную строку, при условии, что служба удаленного реестра запущена.

Пути реестра, содержащие пробелы, должны быть заключены в кавычки:
"HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon \ SpecialAccounts \ UserList \"
Легко пропустить одно место на длинном пути, поэтому - хорошая привычка заключать все пути реестра в кавычки.

В зависимости от разрешений реестра для REG ADD может потребоваться запуск REG.exe из командной строки с повышенными привилегиями.
Данные реестра, хранящиеся в HKCU, будут видны и доступны для записи текущему авторизованному пользователю.
Данные реестра, хранящиеся в HKLM, будут видны всем пользователям и доступны для записи только администраторам.

REG RESTORE имеет тенденцию не работать, возможно, из-за проблем с брандмауэром, EXPORT и IMPORT намного надежнее.

символов обратной косой черты

Команда REG интерпретирует \ как escape для символа, следующего за ней.
Чтобы включить в данные кавычки ("), поставьте перед ними escape-символ, например, вот \" цитата

Это может вызвать проблемы с путями к каталогам в кавычках, потому что \ "в конце строки будет экранирован.

Чтобы сохранить путь к каталогу с обратной косой чертой в конце (\), необходимо добавить вторую обратную косую черту для «экранирования» escape-символа
так, например, вместо "C: \ My Docs \" используйте "C: \ My Docs \\"

Активировать

Чтобы активировать изменения реестра в HKEY_CURRENT_USER без выхода из системы:
RUNDLL32.EXE USER32.DLL, UpdatePerUserSystemParameters, 1, True
n.b. это неподдерживаемый способ взлома с большой вероятностью провала в будущем - подробности о oldnewthing

Высота

В отличие от REGEDIT, REG.exe не всегда требует повышения прав
При добавлении элемента в HKCU REG будет автоматически отображаться как «asInvoker» и будет работать без повышения прав,
при добавлении элемента в HKLM его нужно запускать с повышенными правами.

0 = Успех, результат идентичен
1 = Ошибка
2 = Успех, результат другой

Примеры

Запрос настроек консоли:

 REG QUERY HKCU \ Консоль \
REG QUERY HKCU \ Console / v ScreenBufferSize 

Добавьте раздел реестра «Sample» вместе с некоторыми данными, а затем запросите, чтобы убедиться, что он работает:
REG ADD HKCU \ Software \ SS64 / v Sample / d «некоторые тестовые данные»
REG QUERY HKCU \ Software \ SS64 / v Пример

Добавьте раздел реестра, чтобы отключить быстрое переключение пользователей на текущем ПК (требуется повышение прав):

 REG ADD "HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ System" / v HideFastUserSwitching / t REG_DWORD / d 1 

Добавить раздел реестра REG_BINARY в HKLM и перезаписать, если он уже существует (требуется повышение прав)

REG ADD HKLM \ Software \ DiLithium / v WarpSpeed ​​/ t REG_BINARY / d f1f2f3f4 / f
РЕГ ЗАПРОС HKLM \ Программное обеспечение \ DiLithium / v WarpSpeed ​​

Найдите расположение папки меню "Пуск":

 REG QUERY "HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ User Shell Folders" / v "Start Menu" 

Список переопределений прокси IE:

REG QUERY "HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Internet Settings" / v ProxyOverride

Список всех доверенных сайтов Internet Explorer. %

Ключи копирования:
REG COPY HKCU \ Software \ SS64 HKCU \ Software \ SS64Copy
REG COPY \\ Computer64 \ HKCU \ Software \ SS64 HKCU \ Software \ SS64

Экспорт / импорт / сохранение / восстановление:
REG EXPORT HKCU \ Software \ SS64 C: \ MyReg.REG
ИМПОРТ РЕГ C: \ MyReg.REG
REG SAVE HKCU \ Software \ SS64 C: \ MyRegHive.hiv
ВОССТАНОВЛЕНИЕ РЕГ \\ Wks580 \ HKCU \ Software \ SS64 C: \ MyRegHive.hiv

Запустить сценарий при первом входе в систему (Выполнить один раз), для этого мы редактируем профиль пользователя по умолчанию, временно загружая его как TEMP:

 REG LOAD HKU \ TEMP "C: \ Documents and Settings \ Default User \ NTUSER.DAT"
REG ADD HKU \ TEMP \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ RunOnce / v newUserProfile / t REG_EXPAND_SZ / d "D: \ setup.> \ "C: \ Temp \ setup.log \" \ "" / f 

Дополнительные примеры доступны через: REG QUERY /? РЕГ ДОБАВИТЬ /? и т. д.

«Путь к сердцу человека лежит через его желудок» ~ Фанни Ферн (писатель)

Связанные команды:

SETX - Постоянная установка переменных среды, также может считывать ключ реестра и записывать значение в текстовый файл.
REGEDIT - Загрузить настройки реестра из файла .REG.
Эквивалент PowerShell: Get-ItemProperty / Set-ItemProperty - получение / сохранение ключей реестра.
Q305097 - Сравнение 32-битного и 64-битного редактора реестра Regedit.exe.
Q325347 - Запуск сценария входа в систему при первом входе нового пользователя (Runonce).


Авторские права © 1999-2021 SS64.com
Некоторые права защищены

Как редактировать реестр - из командной строки (добавить, удалить и изменить)

Hives:

Реестр Windows содержит несколько корневых расположений, в которых хранятся различные записи.

Эти расположение называются кустами реестра.

кусты реестра разделяются на основе содержащихся в них значений.

Вот список некоторых из наиболее часто используемых кустов реестра с кратким описанием каждого из них:

Имя (аббревиатура) - Описание

  • HKEY_LOCAL_MACHINE ( HKLM ) - содержит ключи и информацию, относящуюся к весь компьютер , например конфигурации Windows или другие общесистемные настройки.
  • HKEY_CURRENT_USER ( HKCU ) - содержит ключи и информацию, относящуюся к текущему пользователю компьютера , такую ​​как предпочтения или настройки.

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

Ключи:

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

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

В основном, думайте о ключах как о контейнерах или папках.

Значения:

В этих ключах у нас есть различные значения, созданные нашими приложениями или окнами.

Сортировка похожих файлов в папке.

Эти значения также называются записями и будут использовать эти два имени как взаимозаменяемые.

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

  • Строка ( REG-SZ ) - комбинация цифр, букв и символов.
  • Двоичный ( REG_RESOURCE_LIST ) - в основном набор нулей и единиц.
  • DWORD ( REG_DWORD ) - 32-битное целое число. Может быть выражено в двоичном формате или в шестнадцатеричном формате .

Я не могу объяснить это на простом английском языке и уместить это в предложение, вместо этого, если вы хотите узнать больше, вам придется пойти сюда.

Хотя это не все типы данных, вы, скорее всего, будете использовать чаще всего .

Поскольку эта статья больше о самой командной строке и ее отношении к реестру, я не буду углубляться в сам реестр.

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

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

[решено] Запрашивать и удалять ключи и / или значения реестра с пакетным скриптом? - Форум Windows

Я пробовал несколько методов поиска и удаления ключей / значений реестра с помощью пакетного сценария, который затем я хотел бы отправить с помощью PDQ Deploy, но продолжаю получать «код ошибки 1» (который, по словам службы поддержки PDQ, обычно указывает на то, что файл не может быть найден).

Вот сценарий, который я пробовал:

Пакетный файл

 @ эхо выкл.

reg удалить "HKLM \ software \ javasoft" / f> нуль
reg удалить "HKLM \ software \ jremetrics" / f> нуль
reg удалить "HKLM \ software \ wow6432node \ javasoft" / f> nul
reg удалить "HKLM \ software \ wow6432node \ jremetrics" / f> nul
reg удалить "HKLM \ software \ wow6432node \ microsoft \ windows \ currentversion \ run" / v "SunJavaUpdateSched" / f> nul
reg удалить "HKLM \ software \ wow6432node \ microsoft \ windows \ currentversion \ uninstall \ {4A03706F-666A-4037-7777-5F2748764D10}" / f> nul
 

Я не думаю, что код ошибки имеет какое-либо отношение к тому, что файл не найден, потому что единственный задействованный файл - это сам пакетный сценарий, и он находится на пути, по которому он должен быть (у меня есть 7 других пакетов, которые нажимают сценарии из одной папки с аналогичной схемой именования файлов, и все они работают нормально).У меня такое ощущение, что он выдает ошибку, потому что есть один ключ или значение, которое он не находит при попытке удаления. И если это так, я хотел бы найти способ закодировать командный файл, чтобы он НЕ видел никаких ошибок / проблем. Я думал, что добавление> nul в конец каждой строки решит проблему, но этого не произошло. Я также пробовал другие сценарии, в которых я использовал операторы IF и THEN, но я даже не мог заставить эти сценарии завершиться, не говоря уже о том, чтобы выдать ошибку после завершения.

Любая помощь приветствуется!


Булава

OP

Весил 8 мая 2014 г., 15:07 UTC

Попробую сегодня днем ​​повозиться.Но я удалил «@ECHO OFF» из своих скриптов на PDQ и добавил в пакет код успеха «1». Таким образом, вы можете вернуться и просмотреть журнал вывода построчно, если потребуется, и получите успешное развертывание.

Как удалить и добавить ключи реестра из командной строки

Существует несколько сценариев, в которых пользователю Windows может потребоваться или захотеть использовать командную строку вместо инструмента Regedit для изменения, удаления или добавления ключей в реестр Windows.

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

Средство командной строки reg.exe, которое поставляется с операционной системой Windows, можно использовать для управления реестром из командной строки. Он предоставляет вам доступ к удалению или добавлению, а также к другим параметрам, таким как экспорт, сравнение или импорт ключей.

reg.exe: средство командной строки реестра

Ввод reg /? в командной строке отображаются все возможные варианты, которые доступны. Вы можете вызвать командную строку, нажав клавишу Windows, набрав cmd.exe и нажав клавишу Enter.

Удалите ключ реестра с помощью командной строки

Команду reg delete можно использовать на локальных и удаленных машинах. Базовая команда выглядит следующим образом:

reg delete keyname valuename parameters

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

reg delete HKLM \ Software \ Test

Это самая простая форма удаления ключа реестра из командной строки.Это приведет к удалению ключа Test со всеми его подразделами и значениями.

reg delete \\ RemoteSystem \ HKLM \ Software \ Test / v Testvalue

В этом примере удаляется значение реестра Testvalue в разделе Test на удаленной машине RemoteSystem.

Добавьте ключ реестра из командной строки

Переключатель добавления использует аналогичную структуру. Базовая команда

reg add HKLM \ Software \ Test

добавляет ключ Test в HKLM \ Software \

. Важными являются параметры \ t и \ d, которые определяют тип данных Regkey и присвоенное значение. .

reg add HKLM \ Software \ Test / v Testdata / t REG_BINARY / d ffffff

Добавляет значение Testdata к ключу Test, который имеет тип reg_binary и содержит данные ffffff.

Другие удобные опции, которые предоставляет reg.exe, включают экспорт всего реестра или его части с использованием параметра / export, Â или использования параметра / import для импорта данных в реестр.

Использование /? Параметр подробно объясняет каждую команду. На этом мы завершаем небольшое руководство по удалению и добавлению ключей реестра из командной строки.

Обновление : этот метод работает во всех поддерживаемых версиях операционной системы Windows.

Сводка

Название статьи

Как удалить и добавить ключи реестра из командной строки

Описание

В руководстве объясняется, как добавлять или удалять ключи или значения из реестра Windows с помощью командной строки.

Автор

Мартин Бринкманн

Издатель

Ghacks Technology News

Логотип

Реклама

Как добавлять, изменять и удалять ключи и значения реестра

Иногда на этапе устранения неполадок или в ходе какого-либо взлома реестра вам может потребоваться выполнить некоторую «работу» с реестром Windows.Возможно, это добавление нового раздела реестра, чтобы исправить какую-то ошибку с тем, как Windows что-то обрабатывает, или удаление неверного значения реестра, вызывающего проблемы с частью оборудования или программного обеспечения.

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

Не бойся! На самом деле не так уж сложно внести изменения в реестр, если вы знаете, что делаете.Выполните следующие действия, чтобы изменить, добавить или удалить части реестра Windows:

Всегда создавать резервную копию реестра в первую очередь (да, всегда)

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

По сути, это включает в себя выбор ключей, которые вы будете удалять или вносить изменения, или даже всего реестра, а затем экспортировать его в файл REG.См. Раздел «Как сделать резервную копию реестра Windows», если вам нужна помощь.

Если изменения в реестре идут плохо и вам нужно отменить изменения, вы будете очень рады, что проявили инициативу и выбрали резервное копирование.

Как добавить новые ключи реестра и значения

Случайное добавление нового раздела реестра или набора значений реестра , вероятно, ничего не повредит, но и пользы от этого тоже не принесет.

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

Например, из-за ранней ошибки в Windows 10 прокрутка двумя пальцами на сенсорной панели на некоторых ноутбуках Lenovo перестала работать. Исправление включало добавление нового значения реестра к определенному ранее существовавшему разделу реестра.

Независимо от того, какое руководство вы используете, чтобы исправить любую проблему или добавить какую-либо функцию, вот как добавить новые ключи и значения в реестр Windows:

  1. Выполните regedit , чтобы запустить редактор реестра. См. «Как открыть редактор реестра», если вам нужна помощь.

  2. В левой части редактора перейдите к разделу реестра, в который вы хотите добавить еще один раздел, обычно называемый подразделом , или ключом, в который вы хотите добавить значение.

    Вы не можете добавить в реестр дополнительные ключи верхнего уровня. Это специальные ключи, называемые кустами реестра, и они предустановлены Windows. Однако вы можете добавлять новые значения и ключи непосредственно в существующий куст реестра.

  3. После того, как вы найдете раздел реестра, который хотите добавить, вы можете добавить ключ или значение, которое хотите добавить:

    • Если вы создаете новый раздел реестра , щелкните правой кнопкой мыши или нажмите и удерживайте раздел, в котором он должен существовать, и выберите Новый > Ключ .Назовите новый раздел реестра и нажмите Введите .
    • Если вы создаете новое значение реестра , щелкните правой кнопкой мыши или нажмите и удерживайте ключ, в котором он должен существовать, и выберите Новый , а затем тип значения, которое вы хотите создать. Назовите значение, нажмите Введите для подтверждения, затем откройте вновь созданное значение и установите значение Value data , которое оно должно иметь.
  4. Закройте открытое окно редактора реестра.

  5. Перезагрузите компьютер, если вы не уверены, что добавленным вами новым ключам и / или значениям не потребуется перезапуск, чтобы выполнить то, что они должны делать.Просто сделай это, если не уверен.

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

Как переименовать и внести другие изменения в ключи реестра и значения

Как вы читали выше, добавление нового ключа или значения, не имеющего цели, обычно не вызывает проблемы, но переименование существующего раздела реестра или изменение значения существующего значения сделает что-то .

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

Если вы будете осторожны, вот как внести различные изменения в существующие ключи и значения в реестре Windows:

  1. Выполните regedit , чтобы запустить редактор реестра.Везде, где у вас есть доступ к командной строке, будет работать нормально. См. «Как открыть редактор реестра», если вам нужна помощь.

  2. В левой части редактора реестра найдите ключ, который вы хотите переименовать, или ключ, содержащий значение, которое вы хотите каким-либо образом изменить.

    Вы не можете переименовать кусты реестра, ключи верхнего уровня в реестре Windows.

  3. После того, как вы найдете часть реестра, в которую хотите внести изменения, вы можете на самом деле внести эти изменения :

    • Чтобы переименовать раздел реестра , щелкните правой кнопкой мыши или нажмите и удерживайте раздел и выберите Переименовать .Дайте разделу реестра новое имя и нажмите . Введите .
    • Чтобы переименовать значение реестра , щелкните правой кнопкой мыши или нажмите и удерживайте значение справа и выберите Переименовать . Присвойте параметру реестра новое имя и нажмите . Введите .
    • Чтобы изменить данные значения , щелкните правой кнопкой мыши или нажмите и удерживайте значение справа и выберите Изменить ... . Присвойте новые данные Value , а затем подтвердите, нажав кнопку OK .
  4. Закройте редактор реестра, если вы закончили вносить изменения.

  5. Перезагрузите компьютер. Большинство изменений в реестре, особенно те, которые влияют на операционную систему или ее зависимые части, не вступят в силу до тех пор, пока вы не перезагрузите компьютер или, по крайней мере, не выйдете из системы и не вернетесь в Windows.

Предполагая, что ключи и значения, в которые вы внесли изменения, что-то делали до вашего изменения, ожидайте каких-то изменений в поведении после перезагрузки компьютера.Если это не то, что вам нужно, пора откопать резервную копию, которую вы сделали.

Как удалить ключи и значения реестра

Как бы безумно это ни звучало, иногда вам может потребоваться удалить раздел или значение реестра, чаще всего для устранения проблемы, вероятно, вызванной программой, которая добавила конкретный ключ или значение, которого у него не должно быть.

В первую очередь на ум приходит проблема значений UpperFilters и LowerFilters. Эти два значения реестра, если они находятся в определенном разделе, очень часто являются основной причиной определенных ошибок, которые вы иногда видите в диспетчере устройств.

Не забудьте сделать резервную копию, а затем точно выполните следующие действия, чтобы удалить ключ или значение из реестра Windows:

  1. Запустите редактор реестра, выполнив regedit из любой области командной строки в Windows. См. Раздел «Как открыть редактор реестра», если вам нужна дополнительная помощь.

  2. На левой панели редактора реестра переходите вниз, пока не найдете раздел реестра, который вы хотите удалить, или раздел, содержащий значение реестра, которое вы хотите удалить.

    Вы не можете удалить кусты реестра, ключи верхнего уровня, которые вы видите в редакторе.

  3. Найдя, щелкните его правой кнопкой мыши или нажмите и удерживайте и выберите Удалить .

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

  4. Затем вам будет предложено подтвердить запрос на удаление ключа или значения с помощью сообщения Confirm Key Delete или Confirm Value Delete , соответственно, в одной из следующих форм:

    • Вы действительно хотите окончательно удалить этот ключ и все его подразделы?
    • Удаление определенных значений реестра может вызвать нестабильность системы. Вы уверены, что хотите навсегда удалить это значение?

    В Windows XP эти сообщения немного отличаются:

    • Вы действительно хотите удалить этот ключ и все его подразделы?
    • Вы действительно хотите удалить это значение?
  5. Независимо от сообщения, выберите Да , чтобы удалить ключ или значение.

  6. Перезагрузите компьютер. То, что выигрывает от удаления значения или ключа, обычно требует перезагрузки ПК.

Изменения в реестре вызвали проблемы (или не помогли)?

Надеюсь, ответ на оба вопроса - нет , но в противном случае отменить то, что вы изменили, добавили или удалили из реестра Windows, очень просто, если вы сделали резервную копию, что мы рекомендовали выше как первое, что вам следует делать.

Выкопайте этот REG-файл, созданный вашей резервной копией, и запустите его, который восстановит эти сохраненные разделы реестра Windows на место, где они были до того, как вы что-либо сделали.

См. Раздел Как восстановить реестр Windows, если вам нужна более подробная помощь по восстановлению резервной копии реестра.

Спасибо, что сообщили нам!

Расскажите, почему!

Другой Недостаточно подробностей Сложно понять .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *