4

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

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

Есть ли простой способ отредактировать определенное значение реестра?

Что-то вроде:

regupdate path type newvalue

4 ответа4

5

Команда Reg делает то, что вам нужно.

3

Вы можете создать.REG-файл, чтобы обновить его для вас.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main]
"RunOnceHasShown"=dword:00000001
"RunOnceComplete"=dword:00000001

Скопируйте код в новое окно Блокнота и сохраните файл с помощью .REG расширение. Когда вы запустите его (например, START /w file.reg , он попросит вас объединить содержимое

2

Если вы открыты для Powershell вы можете использовать его командлет Set-ItemProperty .
Вот статья на эту тему.

1

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

Как обновить реестр Windows с помощью командной строки?

Команда reg, доступная еще в Windows Server 2000, используется именно для этой цели, а синтаксис довольно прост в использовании.

Добавить ключ

Запустите следующее в окне командной строки:

reg add HKLM\Software\Classes\MyKey

... где HKLM\Software\Classes\MyKey - это раздел реестра, который вы хотите создать.

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

Чтобы добавить ключ HKLM\Software\Classes\MyKey со значением DWORD именем LegacyDisable которое содержит данные 000:

reg add HKLM\Software\Classes\MyKey /v LegacyDisable /t reg_dword /d 000

Удалить ключ

reg delete HKLM\Software\Classes\MyKey

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

Чтобы удалить значение в ключе:

reg delete HKLM\Software\Classes\MyKey /v LegacyDisable

Сравнить два ключа

Команда reg для compare также позволяет сравнивать два раздела реестра, перечисляя различия между ними по умолчанию:

reg compare HKCR\.doc HKCR\.docx

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


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

  • Когда речь идет о какой - либо из ульев реестра в ключевом пути - HKEY_LOCAL_MACHINE HKEY_CLASSES_ROOT HKEY_CURRENT_USER HKEY_USERS и HKEY_CURRENT_CONFIG - команда reg позволяет ссылки на них , используя их сокращенные версии - HKLM HKCR HKCU HKU и HKCC соответственно - как показано в примеры выше.

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

  • В связанной документации Microsoft для команды reg не перечислены поддерживаемые операционные системы после Windows 7, поэтому в настоящее время неясно, успешно ли эта команда выполняется в Windows 8 или 10. Вклад от любого с этими операционными системами был бы оценен здесь.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .