Skip to content
ikas edited this page Apr 6, 2025 · 32 revisions

Menu Icon

  • use icon from exe or dll

"C:\Program Files\7-Zip\7zFM.exe",0

C:\WINDOWS\System32\SHELL32.dll,196

note: change a folder icon and open desktop.ini(hidden) in the folder to find the index number https://support.microsoft.com/en-us/topic/cannot-change-the-default-folder-icons-in-windows-explorer-db49e15d-d95a-bc68-9947-e3ec296f4514

  • use icon file

"C:\Users\user\icons\icon.ico"

Menu Exe

run exe or script

# exe
"C:\Program Files\7-Zip\7zFM.exe"

# Environment variables are supported
"%LocalAppData%\Programs\Microsoft VS Code\Code.exe"

# script
newFolder.bat

run store app

# format
shell:AppsFolder\<Package Name>_<Publisher ID>!<App ID>

# For example: WindowsTerminal
shell:AppsFolder\Microsoft.WindowsTerminal_8wekyb3d8bbwe!App

# with parameters
start "" shell:AppsFolder\Microsoft.WindowsTerminal_8wekyb3d8bbwe!App new-tab -p "cmd"

URI protocols (limited)

# simple
"exe": "quick-look://",

# with parameters
"exe": "explorer",
"param": "quick-look://\"{path}\"",

Menu Param

The param template will be processed and passed to the [exe]

"{path}" 

If you right-click on the "C:\test\MpDlpCmd.exe"

{path}                                 -->  C:\test\MpDlpCmd.exe
"{path}"                               -->  "C:\test\MpDlpCmd.exe"
cmd.exe /s /k pushd  "{path}"          -->  cmd.exe /s /k pushd  "C:\test\MpDlpCmd.exe"
a -ad  "{parent}\{nameNoExt}.7z"  "{path}"  -->  a -ad  "C:\test\MpDlpCmd.7z"  "C:\test\MpDlpCmd"

Supported variables

 {path} file absolute path
 {parent} file parent

 #single file only 
 {name} file name 
 {nameNoExt} file name without extension, version >=5.0
 {extension} file extension, version >=5.0

Match File

All (v5.0+)

match all file (not folder)

Extension Like (not recommended)

contains file extension

*            --> all
.apkx .mapk  --> xx.apk or xxx.apkx
empty        --> all

Regex

  • Regex for file name
.+?\.txt

debug regex :https://regex101.com

Extension List (v5.0+)

must use | as delimiter

.apkx|.apk   --> xxx.apkx or xxx.apk
.cpp|.java   --> xx.java or xx.cpp

Match Folder

directory/desktop/directory background/drive (v5.5+)

directory

right click on directory only

desktop

right click on desktop (right click on the explorer left tree desktop : bug)

background

right click on directory background

drive

right click on drive

Match Multiple Files

Two modes are supported

  • EACH execute [exe] on each path
  • JOIN execute [exe] only once

note:
When [Multiple Files] is turned on, extension matching and folder matching are ignored

Multiple Files EACH Mode

For each file,pass [param] to [exe], same as single file

Multiple Files JOIN Mode

All paths will be connected according to the configuration,then as {path}

Path delimiter

If 2 files are selected: path1.txt path2.txt

,      -->  "path1","path2" 
:      -->  "path1":"path2" 
','    -->  "path1"','"path2" 

note: Every path will be surrounded by quotes

Param

When multiple files are selected, the [Param] may be different
so, the [Param] can be overwritten here

multipleParam: -noexit -Command Get-FileHash -LiteralPath \"{path}\" -Algorithm MD5 | format-list
delimiter: \",\"

-->

-noexit -Command Get-FileHash -LiteralPath \""C:\Users\test\Desktop\tftpd32.ini"\",\""C:\Users\test\Desktop\run.bat"\" -Algorithm MD5 | format-list

Menu Cache

Menus load faster when cache is enabled, Turn it off and on again to reset the cache

Debug Helper

use customeContextMenuDebug.exe to show param
see json:
https://github.com/ikas-mc/ContextMenuForWindows11/blob/main/menuSample/Debug%20Echo.json

More Menu samples

https://github.com/ikas-mc/ContextMenuForWindows11/tree/main/menuSample

Menu Config Files Folder

C:\Users\yourname\AppData\Local\Packages\{appId}\LocalState\custom_commands   

If you need to back up, just copy all the files here to a safe folder.

Clone this wiki locally