FMRegJump is a Windows automation tool that launches RegEdit or Registry Finder and jumps straight to a registry key determined by either a file extension or a named preset. Instead of memorizing long HKEY_CLASSES_ROOT paths or clicking through the registry tree, you right-click a file, folder, or drive and land exactly where you need to be.
Under the hood, FMRegJump resolves the target key from one of two inputs:
-InputFile— the file's extension is mapped toHKCR\SystemFileAssociations\<ext>\Shell(orHKCR\<ext>\Shell), which is where per-extension context-menu verbs live.-PresetDestination— a friendly name likeDirectoryBackground,AllFiles, orEnvVariablesSystemis mapped to its canonical hive path.
Why it's a great automation tool:
- Context-menu friendly — the script is designed to be wired into Explorer context menus so right-clicking a file, a folder, a drive, or empty space opens the exact registry key that controls that object's shell behavior. This makes adding, removing, and auditing custom context-menu verbs dramatically faster.
- Two-tool aware — works with either the built-in RegEdit or the far more capable Registry Finder, selected via
-AppToUse. - Safe by default — validates input mutual exclusivity, verifies the config file exists, checks that Registry Finder's path resolves to a real
.exeor.com, and walks parent keys so a missing leaf won't crash the launcher. - ps2exe-compatible — resolves its own script directory correctly whether it's running as a
.ps1script or a compiled.exe, so the companionFMRegJumpConfig.tomlcan live beside the binary. - Single-instance mode — pass
-SingleInstanceto reuse an existing RegEdit or Registry Finder window instead of opening a new one.
If you spend any time authoring shell verbs (HKCR\*\shell\...), tweaking the DirectoryBackground context menu, or inspecting per-user vs. per-machine environment variables, FMRegJump turns a multi-click registry scavenger hunt into a single right-click.
-
Clone the repository:
git clone https://github.com/Futuremotion/powershell-fmregjump.git cd powershell-fmregjump
-
Install the
ps2exemodule in Windows PowerShell (NOT PowerShell 7 —Win-PS2EXEis a WinForms GUI that only launches reliably under the Windows PowerShell host):Install-Module -Name ps2exe -Scope CurrentUser
Module page: ps2exe on PowerShell Gallery
-
Add the modules directory to your User
PATHenvironment variable so theWin-PS2EXElauncher is resolvable from any shell:%USERPROFILE%\Documents\WindowsPowerShell\Modules -
Restart the shell (close and reopen Windows PowerShell) so the updated
PATHis picked up. -
Launch the GUI:
Win-PS2EXE
Fill in the GUI as follows:
- Source file: path to
FMRegJump.ps1(for exampleX:\powershell-fmregjump\FMRegJump.ps1) - Target file: path and filename for the binary you want to produce
- Recommended target: the same directory as
FMRegJump.ps1, with the extension changed to.exe(soFMRegJump.exeends up right next toFMRegJumpConfig.toml)
Ensure the following checkboxes are enabled:
- Compile a graphic windows program (parameter
-noConsole) - Suppress output (
-noOutput) - Suppress error output (
-noError) - Require administrator rights at runtime (parameter
-requireAdmin)
Click Compile and confirm that FMRegJump.exe was produced in the target directory.
FMRegJump defaults to Registry Finder because it supports command-line navigation (--navigate), multi-instance management, bookmarks, and a far better search experience than RegEdit. It is strongly recommended that you download it before using FMRegJump:
If you prefer the built-in editor, you can always pass -AppToUse RegEdit and skip Registry Finder entirely — in that case the config file is still read but the RegistryFinderPath value is not required.
FMRegJump reads a small TOML file named FMRegJumpConfig.toml. This file must sit side-by-side with the compiled FMRegJump.exe (or with FMRegJump.ps1 when running as a script). The tool resolves its own directory at launch and expects the config next to itself — if it isn't there, FMRegJump will refuse to run and display an error dialog.
Example FMRegJumpConfig.toml:
[FMRegJumpConfig]
RegistryFinderPath = 'C:/Tools/Registry Finder/RegistryFinder.exe'Keys:
RegistryFinderPath— absolute path to your Registry Finder executable. Must end in.exe(preferred, GUI subsystem, no console window) or.com(legacy, spawns a console window). FMRegJump validates both the extension and the existence of the file before launching anything.
This file is only strictly required when -AppToUse RegistryFinder (the default) is used. If you exclusively use -AppToUse RegEdit you can leave the value as-is, but the config file must still exist.
The most optimal workflow is to compile FMRegJump.exe once, drop it into a stable location (for example C:\Tools\FMRegJump\) alongside FMRegJumpConfig.toml, and then register context-menu entries that call it with the appropriate arguments.
-InputFile <path>— a file or directory whose extension determines the target registry key. Mutually exclusive with-PresetDestination.-InputFileRoot <SystemFileAssociations|HKEY_CLASSES_ROOT>— which hive to resolve the extension under. Defaults toSystemFileAssociations(the modern, per-extension shell store).-PresetDestination <name>— jump straight to a well-known key. One of:DirectoryBackground,Directory,DesktopBackground,AllFileSystemObjects,AllFiles,Drive,MyComputer,EnvVariablesCurrentUser,EnvVariablesSystem,Folder.-AppToUse <RegistryFinder|RegEdit>— which editor to launch. Defaults toRegistryFinder.-SingleInstance— reuse an existing window instead of opening a new one. Without this switch, Registry Finder is launched with--multiInstand RegEdit with-m.
Jump to the shell verbs for the extension of a specific file:
.\FMRegJump.exe -InputFile "C:\path\to\example.txt"Jump to the Directory Background shell key (the menu you see when right-clicking empty space inside a folder):
.\FMRegJump.exe -PresetDestination DirectoryBackgroundInspect the system-wide environment variables key:
.\FMRegJump.exe -PresetDestination EnvVariablesSystemOpen the all-files shell verbs in RegEdit (instead of Registry Finder), reusing an existing window:
.\FMRegJump.exe -PresetDestination AllFiles -AppToUse RegEdit -SingleInstanceContext-menu wiring example — register "Jump to shell verbs" for every file:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\FMRegJump]
@="Jump to shell verbs"
"Icon"="C:\\Tools\\FMRegJump\\FMRegJump.exe"
[HKEY_CLASSES_ROOT\*\shell\FMRegJump\command]
@="\"C:\\Tools\\FMRegJump\\FMRegJump.exe\" -InputFile \"%1\""- Multi-key jumping — accept an array of registry keys and open each one in its own Registry Finder / RegEdit window in a single invocation.
- Clipboard-driven jumping — read the clipboard and jump to one or multiple registry keys parsed from its contents, so copy-paste from logs, forums, or documentation becomes a one-step navigation.
- SYSTEM elevation — add an option to launch RegEdit or Registry Finder under the
NT AUTHORITY\SYSTEMaccount (via a scheduled task or service shim) so protected keys likeHKLM\SECURITYandHKLM\SAMcan be inspected directly. - Context-menu installer — an automation script that registers and removes FMRegJump entries under the
file,directory, anddirectory backgroundshell keys, so users don't have to hand-craft.regfiles.