Как открыть редактор реестра Windows сразу на нужном ключе
Нужно открыть RegEdit сразу на конкретном ключе реестра, но командной опции для этого нет? Эта задача встречается часто: хочется перейти прямо к нужному пути, не листая дерево вручную. Ниже собраны рабочие способы: с помощью NirSoft nircmd, утилит RegJump и простого пакетного файла, который задаёт последний ключ.
Почему regedit не открывает ключ по пути из командной строки
Официальный regedit сам по себе не имеет опции командной строки для открытия конкретного ключа. Как отмечается в исходном материале, по состоянию на середину 2025 года (mid-2025) такой возможности нет. Вместо этого RegEdit восстанавливает позицию из сохранённого значения в реестре — оттуда и берутся обходные решения.
Быстрый способ: NirSoft nircmd
NirSoft предоставляет бесплатный инструмент nircmd, который умеет открывать RegEdit в нужном ключе. Это простое и надёжное решение, которое рекомендовано автором текста.
Команда
nircmd regedit "<ключ>"
Где <ключ> — желаемый путь реестра, например:
nircmd regedit "Computer\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer"
Инструмент быстро откроет RegEdit, указывая на указанный ключ. В одном примере приведён batch-файл, который сначала переходит в папку с nircmd и затем вызывает команду.
Альтернативы: программы RegJump
Существуют обёртки и сторонние утилиты, реализующие переход к нужному ключу. Особенно распространён инструмент под именем RegJump — есть как минимум три реализации.
Где взять RegJump
- Sysinternals (Microsoft): https://learn.microsoft.com/en-us/sysinternals/downloads/regjump
- GitHub (jackdp): https://github.com/jackdp/RegJump
- GitHub (T800G): https://github.com/T800G/RegJump
Эти программы делают именно то, чего не умеет встроенный regedit: открывают редактор реестра по заданному пути.
Пакетный файл: записать LastKey в HKCU и запустить regedit
RegEdit запоминает последний открытый ключ в реестре. Можно заранее записать этот ключ и затем запустить regedit — он откроется на заданном месте. Это удобно реализуется в .bat файле.
Пример batch-файла
@if not "%~1"==%1 %0 "%*"
@reg add HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Applets\Regedit /v LastKey /d "Computer\%~1" /f
@regedit
Первая строка обеспечивает корректное использование кавычек для аргумента (в путях реестра часто есть пробелы). Вторая строка записывает значение LastKey в ветку HKCU, добавляя префикс «Computer\» для локального реестра. После этого regedit при запуске вернёт сохраненную позицию.
Примечания по повышению привилегий и __COMPAT_LAYER
RegEdit обычно запускается с повышенными правами (Run as administrator). Если вы используете обычную (неадминистраторскую) учётную запись, запись в HKCU другого пользователя не сработает без повышения привилегий. В таком случае пакетный файл нужно запускать с эскалацией.
Альтернативный подход: если вы хотите, чтобы regedit обращался к HKCU неадминистратора без повышения, можно отключить эскалацию через переменную окружения __COMPAT_LAYER. Это позволяет запускать regedit в контексте текущего пользователя, но не препятствует ручному запуску с повышением прав, когда это нужно.
Краткое резюме
RegEdit сам по себе не поддерживает открытие ключа из командной строки (по состоянию на mid-2025). Практические варианты решения:
- Использовать NirSoft nircmd:
nircmd regedit "<ключ>"
. - Применить готовые утилиты RegJump (несколько реализаций на GitHub и Sysinternals).
- Создать batch-файл, записывающий ключ в HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Applets\Regedit\LastKey и запускать regedit.