Мне нужно открыть ключ реестра, например, следующий в 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
Вы можете сделать это, создав простой 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.
Скопируйте приведенный ниже текст и сохраните его как командный файл и запустите
@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 с требуемым путем к ключу реестра.
Я все время использую мощную макропрограмму (QWin), прежде всего, для ввода часто используемых вещей. QMenu также имеет возможность запускать приложения.
Когда я рассказал автору, Гэри Шансону, о regjump и спросил, возможно ли передать содержимое буфера обмена в качестве аргумента команды, он обновил его, чтобы разрешить передачу содержимого буфера обмена в виде переменной, что означает;
Теперь, когда я копирую любую клавишу в буфер обмена, все, что мне нужно сделать, - это нажать клавишу kotkey для QMenu и набрать "J", чтобы перейти непосредственно к этой клавише в Regedit.
Однако, хотя вышеперечисленное работает в XP, в Win7/8 QMenu завершается ошибкой из-за ограничений os на запуск исполняемых файлов. Хотя это будет работать, если установить qMenu как "RUN as admin", что потребует утверждения каждого макроса клавиатуры, который я вызывал. Решение? Установите для QMenu значение RUN для ярлыка RegJump и установите для него значение "RUN от имени администратора" (вы можете передать аргумент ярлыку, который передаст его программе, которую он запускает)
Если QMenu звучит интересно, у меня есть страница об использовании этого на bevhoward.com/WinTools.htm
Обратите внимание, что, хотя я использую инструменты Гэри в течение многих лет, различные AV-программы помечали некоторые файлы как зараженные ... в случае обновленного QMenu он был помечен Avast, но проблема должна быть решена с помощью их следующее обновление.
Надеюсь, что эта информация имеет ценность. Беверли Ховард
В RegEdit у вас есть возможность отмечать пути.
В верхнем меню выберите
Избранное Добавить в избранное
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
Если вам приходится часто его использовать, имеет смысл облегчить его - вы можете комбинировать RegJump и Notepad++, чтобы перейти в папку реестра после выбора пути reg в тексте.
Загрузите regjump, разархивируйте в безопасное место, создайте командный файл:
C:\[...path to your regjump.exe...]\regjump.exe %1
Вот как это сделать:
C:\[...path to your batch file...]\regjump.bat "$(CURRENT_WORD)"
Использование: если у вас открыт текст в Notepad++, который содержит путь к реестру, выберите этот путь к реестру и нажмите в меню: «Macro /RegJump to» - он должен открыть реестр в нужном месте, если путь указан правильно. если путь неверен, он откроет реестр в ближайшем родительском пути.
regjump также поддерживает сокращенные ключи: HKLM\Software\Microsoft
Если вы используете Regjump , вы можете подумать о том, чтобы установить переменную среды, например, REGJUMP = C:\path\to\regjump.exe. Затем вы можете использовать Regjump из поля «Начать поиск», скажем, в меню «Пуск» Windows Vista:
[Возможно, вам потребуется перейти к местоположению regjump.exe и настроить для regjump.exe уровень привилегий «Запускать эту программу от имени администратора» на вкладке «Свойства» -> «Совместимость». Это обеспечит правильную работу Regjump на компьютерах с управлением учетными записями пользователей].
Этот пакетный файл работает для меня в 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
Самый простой способ - использовать стороннее программное обеспечение. Наиболее эффективным является перемычка ключа реестра, и это портативное бесплатное программное обеспечение.
Самое интересное, что вам не нужно копировать раздел реестра: просто выберите его и используйте Ctrl Alt X, тогда я и местоположение раздела реестра будут открыты автоматически. Если вы выберете e и введете какой-то текст, если внутри находится раздел реестра, перемычка разделов реестра может автоматически удалить текст и откроет расположение ключа.
С Autohotkey плюс regjump вы можете определить сочетание клавиш для перехода к ключевому пути в буфере обмена. Пример:
^!+k::
Run path\regjump.exe %clipboard%
return
Обратите внимание, что для Win7 вам нужно установить "Запускать от имени администратора" в свойствах Compatibilty regjump.exe
Это невозможно сделать с помощью стандартного редактора реестра.
Тем не менее, Microsoft/Sysinternals имеет инструмент под названием Regjump, который делает именно то, что вам нужно - запуск в нужном месте в редакторе реестра.