Мне нужно открыть ключ реестра, например, следующий в regedit.
HKLM\Software\Microsoft\Foo\Bar
Есть ли инструмент, который будет переходить к клавише для меня, без необходимости самостоятельно перемещаться по папкам?
Мне нужно открыть ключ реестра, например, следующий в regedit.
HKLM\Software\Microsoft\Foo\Bar
Есть ли инструмент, который будет переходить к клавише для меня, без необходимости самостоятельно перемещаться по папкам?
Ответы:
Это не может быть сделано с использованием regedit.exe
самого себя или любого из его параметров командной строки.
Тем не менее, Microsoft предлагает regjump.exe
небольшую утилиту (ранее от SysInternals), которую можно использовать для открытия редактора реестра для указанного ключа.
После установки вы можете открыть указанный ключ, например, так:
regjump HKEY_LOCAL_MACHINE\Software\Microsoft\Windows
или даже используя сокращения:
regjump HKCU\Software\Microsoft\Windows
Доступные сокращения:
HKCR - HKEY_CLASSES_ROOT
HKCU - HKEY_CURRENT_USER
HKLM - HKEY_LOCAL_MACHINE
HKU - HKEY_USERS
HKCC - HKEY_CURRENT_CONFIG
regjump -c
чтобы открыть ключ из буфера обмена.
Вы можете сделать это, создав на своем рабочем столе простой VBScript без установки какого-либо дополнительного программного обеспечения.
Сценарий просто устанавливает ключ «последний использованный» в реестре, а затем открывает его.
Откройте Блокнот, вставьте это в него и сохраните как, FooBar.vbs
например:
Set WshShell = CreateObject("WScript.Shell")
WshShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit\Lastkey","HKLM\Software\Microsoft\Foo\Bar","REG_SZ"
WshShell.Run "regedit", 1,True
Set WshShell = Nothing
В свойствах файла .vbs вы можете указать, чтобы он не отображал черный ящик во время выполнения сценария, чтобы сделать его немного более аккуратным.
Если вы хотите быть модным, вы можете сохранить скрипт .vbs в другом месте и создать для него ярлык на рабочем столе. После этого вы сможете изменить значок, и он может выглядеть красиво (если вы действительно этого хотите).
РЕДАКТИРОВАТЬ - Если вы хотите спросить, какой ключ вы хотите открывать каждый раз, вот что вы использовали бы вместо этого:
Set WshShell = CreateObject("WScript.Shell")
Dim JumpToKey
JumpToKey=Inputbox("Which registry key would you like to open?")
WshShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit\Lastkey",JumpToKey,"REG_SZ"
WshShell.Run "regedit", 1,True
Set WshShell = Nothing
Windows 10 теперь включает функцию адресной строки в редакторе реестра:
Просто введите или вставьте путь в адресную строку и нажмите Enter.
Следующие сокращения работают с адресной строкой:
HKCR - HKEY_CLASSES_ROOT
HKCU - HKEY_CURRENT_USER
HKLM - HKEY_LOCAL_MACHINE
HKU - HKEY_USERS
Таким образом, HKCC - HKEY_CURRENT_CONFIG
сокращение не работает (по крайней мере, на эту дату).
Вы можете активировать адресную строку, нажав Ctrl+L
или Alt+D
, как в Windows Explorer.
Address Bar
запись в View
меню редактора реестра.
Скопируйте приведенный ниже текст и сохраните его как командный файл и запустите
@ECHO OFF & setlocal
SET /P "showkey=Please enter the path of the registry key: "
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit" /v "LastKey" /d "%showkey%" /f
start "" regedit
Введите путь к ключу реестра, который вы хотите открыть, когда пакетный файл запросит его, и нажмите, Enterи вы сможете открыть regedit с требуемым путем к ключу реестра.
@ECHO OFF<br>
чтобы это работало на Windows 8
В RegEdit у вас есть возможность отмечать пути.
В верхнем меню выберите
Favorites Add to Favorites
HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit\Favorites
чтобы вы могли легко восстановить на новом компьютере, чтобы все ваши избранные снова.
Я все время использую мощную макропрограмму ( QWin ), прежде всего, для ввода часто используемых вещей. QMenu также имеет возможность запускать приложения.
Когда я рассказал автору, Гэри Шансону, о regjump и спросил, возможно ли передать содержимое буфера обмена в качестве аргумента команды, он обновил его, чтобы разрешить передачу содержимого буфера обмена в виде переменной, что означает;
Теперь, когда я копирую любую клавишу в буфер обмена, все, что мне нужно сделать, - это нажать клавишу kot для QMenu и набрать «J», чтобы перейти непосредственно к этой клавише в Regedit.
Однако, хотя вышеперечисленное работает в XP, в Win7 / 8 QMenu завершается ошибкой из-за ограничений os на запуск исполняемых файлов. Хотя это будет работать, если установить qMenu как «RUN as admin», что потребует утверждения каждого макроса клавиатуры, который я вызывал. Решение? Установите для QMenu значение RUN для ярлыка RegJump и установите для него значение «RUN от имени администратора» (вы можете передать аргумент ярлыку, который передаст его программе, которую он запускает)
Если QMenu звучит интересно, у меня есть страница об использовании этого на bevhoward.com/WinTools.htm
Обратите внимание, что, хотя я использую инструменты Гэри в течение многих лет, различные AV-программы помечали некоторые файлы как зараженные ... в случае обновленного QMenu это было помечено Avast, но проблема должна быть решена с помощью их следующее обновление.
Надеюсь, что эта информация имеет ценность. Беверли Ховард
Nircmd тоже может это сделать.
http://www.nirsoft.net/utils/nircmd.html
Open the desired Registry key/value in RegEdit
nircmd.exe regedit "HKLM\Software\Microsoft\Windows\CurrentVersion" "CommonFilesDir"
Open the Registry key that you copied to the clipboard in RegEdit
nircmd regedit "~$clipboard$"
RegScanner - это графический интерфейс для поиска в реестре с возможностью перехода к выбранному ключу.
У меня есть набор служб, представляющих различные экземпляры немного собственного программного обеспечения; имена сервисов начинаются с названия программного обеспечения, за которым следуют определенные подробности конкретного экземпляра.
ProgramName_Detail1A_Detail1B
ProgramName_Detail2A_Detail2B
Описания часто обновляются, поскольку предполагаемое использование каждого экземпляра со временем меняется, но описание можно изменить только в реестре. Имея это в виду, следующий код .BAT находит первую службу «ProgramName *» и открывает regedit с этой первой выбранной службой. (Мои сервисные имена не содержат пробелов; если у вас есть, потребуется некоторая адаптация.)
@echo off
setlocal
set __first=
for /f "tokens=5 delims=\" %%i in ('reg query HKLM\system\currentcontrolset\services /f ProgramName*') do call :findfirst %%i
if "%__first%" == "" (
echo No ProgramName entries found in registry. Aborting...
pause
goto :EOF
)
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit /v LastKey /d Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\%__first% /f
start regedit
goto :EOF
:findfirst
if "%__first%" == "" set __first=%1
goto :EOF
Это невозможно сделать с помощью стандартного редактора реестра.
Тем не менее, Microsoft / Sysinternals имеет инструмент под названием Regjump, который делает именно то, что вам нужно - запуск в нужном месте в редакторе реестра.
Если вы используете Regjump , вы можете подумать о том, чтобы установить переменную среды, например, REGJUMP = C: \ path \ to \ regjump.exe. Затем вы можете использовать Regjump из поля «Начать поиск», скажем, в меню «Пуск» Windows Vista:
[Вам может понадобиться перейти к местоположению regjump.exe и настроить для regjump.exe уровень привилегий «Запускать эту программу от имени администратора» на вкладке «Свойства» -> «Совместимость». Это обеспечит правильную работу Regjump на компьютерах с управлением учетными записями пользователей].
С помощью Autohotkey plus regjump вы можете определить сочетание клавиш для перехода к ключевому пути в буфере обмена. Пример:
^!+k::
Run path\regjump.exe %clipboard%
return
Обратите внимание, что для Win7 вам нужно установить «Запускать от имени администратора» в свойствах Compatibilty regjump.exe
Самый простой способ - использовать стороннее программное обеспечение. Наиболее эффективным является перемычка ключа реестра , и это портативное бесплатное программное обеспечение.
Самое интересное, что вам не нужно копировать раздел реестра: просто выберите его и используйте CtrlAltX, тогда iи расположение раздела реестра будет открыто автоматически. Если вы выберете eи введете какой-то текст, если в нем есть ключ реестра, перемычка ключа реестра может автоматически удалить текст и откроет расположение ключа.
Этот пакетный файл работает для меня в Windows 8, если regedit закрывается при запуске пакетного файла.
showkey=Please enter the path of the registry key:
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit" /v "LastKey" /d "%showkey%" /f
start regedit
Если вам приходится часто его использовать, имеет смысл облегчить его - вы можете комбинировать RegJump и Notepad ++, чтобы перейти в папку реестра после выбора пути reg в тексте.
Загрузите regjump , разархивируйте в безопасное место, создайте командный файл:
C: \ [... путь к вашему regjump.exe ...] \ regjump.exe% 1
Вот как это сделать:
C: \ [... путь к вашему пакетному файлу ...] \ regjump.bat "$ (CURRENT_WORD)"
Использование : если у вас есть текст, открытый в Notepad ++, который содержит путь к реестру, выберите этот путь к реестру и нажмите в меню: «Macro / RegJump to» - он должен открыть реестр в нужном месте, если путь указан правильно. если путь неверен, он откроет реестр в ближайшем родительском пути.
regjump также поддерживает сокращенные ключи: HKLM \ Software \ Microsoft
…Regedit\LastKey
и открывает Regedit; Regedit прыгает сам.