I need to open a registry key such as the following in regedit.
HKLM\Software\Microsoft\Foo\Bar
Is there a tool which will navigate to the key for me, without my having to navigate the folders myself one by one?
This cannot be done using regedit.exe
itself or any of its command line parameters.
However, Microsoft offers regjump.exe
, a small utility (previously from SysInternals) that can be used to open the registry editor to a specified key.
Once you install this you can open to specified key like so:
regjump HKEY_LOCAL_MACHINE\Software\Microsoft\Windows
or even using abbreviations:
regjump HKCU\Software\Microsoft\Windows
Available abbreviations are:
HKCR - HKEY_CLASSES_ROOT
HKCU - HKEY_CURRENT_USER
HKLM - HKEY_LOCAL_MACHINE
HKU - HKEY_USERS
HKCC - HKEY_CURRENT_CONFIG
Windows 10 now includes address bar functionality in the Registry Editor:
So just type or paste the path in the address bar, and press Enter.
The following abbreviations work with the address bar:
HKCR - HKEY_CLASSES_ROOT
HKCU - HKEY_CURRENT_USER
HKLM - HKEY_LOCAL_MACHINE
HKU - HKEY_USERS
So the HKCC - HKEY_CURRENT_CONFIG
abbreviation doesn't work (at least as of this date).
You can activate the address bar by pressing Ctrl+L
or Alt+D
, just like in Windows Explorer.
Address Bar
entry in the View
menu of the Registry Editor.
Commented
Aug 9, 2017 at 19:19
You can do this by creating a simple VBScript on your desktop, without installing any additional software.
The script simply sets the "last used" key in the registry, before then opening it.
Open Notepad, stick this into it and save it as FooBar.vbs
for example:
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
In the properties for the .vbs file you can tell it not to pop up a black box as it is running the script, to make it a little tidier.
If you wanted to be fancy, you could save the .vbs script somewhere else and create a shortcut on your desktop to it. You would then be able to change the icon and may it look pretty (if you really wanted to).
EDIT - If you wanted to be asked what key you wanted to open each time, here is what you would use instead:
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
Copy the below text and save it as a batch file and run
@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 the path of the registry key you wish to open when the batch file prompts for it and press Enter and you would be able to open regedit with required registry key path.
@ECHO OFF<br>
to make it work on windows 8
Commented
Oct 19, 2015 at 13:32
start "" regedit
to cmd /c start "" regedit & exit
so that the cmd window closes automatically.
In RegEdit you have the ability to bookmark paths.
From the top menu choose
Favorites Add to Favorites
HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit\Favorites
so you can easily restore on a new computer have have all your favorites again.
Nircmd too can do it.
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 is a GUI to search the registry, with option to jump to selected key.
I use a powerful macro program (QWin) all of the time, primarily to type frequently used things. QMenu also has the ability to RUN applications.
When I told the author, Gary Chanson, about regjump and asked if it might be possible to pass the clipboard contents as a command argument, he updated it to allow passing the contents of the clipboard buffer as a variable which means;
When I now copy any key to the clipboard, all I have to do is hit the kotkey for QMenu and type "J" to go directly to that key in Regedit.
However, while the above works in XP, in Win7/8 QMenu fails because of the os' restrictions on running executables. While it would work by setting qMenu up as "RUN as admin" that required approving every keyboard macro that I called. Solution? Set QMenu up to RUN a shortcut for RegJump, and set the shortcut up to "RUN as admin. (you can pass an argument to a shortcut which will pass it on to the program it launches)
If QMenu sounds interesting, I have a page about using it at bevhoward.com/WinTools.htm
Note, while I have been using Gary's tools for many years, different AV programs have flagged some of the files as infected... in the case of the updated QMenu, it got flagged by Avast, but the issue is supposed to be resolved with their next update.
Hope that this information is of value. Beverly Howard
I have a set of services representing different instances of a bit of homegrown software; the service names all start with the name of the software, followed by certain instance-specific details.
ProgramName_Detail1A_Detail1B
ProgramName_Detail2A_Detail2B
The descriptions are frequently updated as the intended usage of each instance will change over time, but description can only be changed in the registry. With that in mind, the following .BAT code finds the first "ProgramName*" service and opens regedit with that first service already selected. (My service names contain no spaces; if yours do, some adaptation will be required.)
@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
There is no way of doing this with the standard Registry Editor on it's own.
However, Microsoft/Sysinternals have a tool called Regjump that does exactly what you need - launching to the correct place in registry editor.
One thing you might consider doing if you use Regjump is to set up an environment variable, for example REGJUMP=C:\path\to\regjump.exe. Then you can use Regjump from the 'Start Search' box in, say, the Windows Vista Start Menu:
[You may need to browse to the location of regjump.exe and set regjump.exe to have 'Run this program as an administrator' Privilege Level on the Properties->Compatibility tab. This will ensure that Regjump operates correctly on computers running with User Account Control].
With Autohotkey plus regjump, you can define a keyboard shortcut to jump to a key path on the clipboard. Example:
^!+k::
Run path\regjump.exe %clipboard%
return
Note that for Win7 you'll need to set "Run this as an administrator" in the Compatibilty properties of regjump.exe
The easiest way is using 3rd-party software. The most effective one is Registry key jumper, and it is a portable freeware.
The most interesting part is that you don't have to copy a registry key: just select it and use CtrlAltX, then i and registry key location will be opened automatically. If you select e and type some text, if there's a registry key inside, Registry key jumper can automatically eliminate the text and will open the key location.
This batch file works for me on windows 8 if regedit is closed when the batch file runs.
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
If you have to use it a lot, it makes sense make it easier - you can combine RegJump and Notepad++ to go to your registry location after selecting reg path in text.
Download regjump, unzip into your safe location, create batch file :
C:\[...path to your regjump.exe...]\regjump.exe %1
Here is how to achieve this:
C:\[...path to your batch file...]\regjump.bat "$(CURRENT_WORD)"
usage: if you have text open in Notepad++ which contains registry path, select this registry path and click in Menu: 'Macro/RegJump to' - it should open registry in the needed location, if path is correct. if path is not correct, it will open registry in the closest parent path.
regjump supports abbreviated keys as well: HKLM\Software\Microsoft
On Win CMD:
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit" /v "LastKey" /d "YourKey" /f & regedit
If "YourKey" doesn't exist, regedit will open to "Computer" key
Tested on Win 10
…Regedit\LastKey
, and opened Regedit; Regedit jumps itself.