-
Notifications
You must be signed in to change notification settings - Fork 111
Help
This app can add custom context menu for windows11
The custom menus use json files and stored in app's localdata folder
- add button: add a menu
- refresh button: refresh menus
- open folder button: open menu files folder
- cache button: build and clean cache button
- save button: save menu
- delete button: delete menu
- open file button: open menu config file
- setting button: set custom menu title
As shown in the picture, it adds a menu: Open the file with Notepad
{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
Menu title
For menu sorting
"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
"C:\Users\user\icons\icon.ico"
match all file (not folder)
contains file extension
* : all
.apkx .mapk : xx.apk or xxx.apkx
empty : all
- Regex for file name
.+?\.txt
debug regex :https://regex101.com
must use | as delimiter
.apkx|.apk : xxx.apkx or xxx.apk
.cpp|.java : xx.java or xx.cpp
match all directory(v1.0-v4.0)
directory/desktop/directory background (v5.0+)
right click on directory only
right click on desktop (right click on the explorer left tree desktop : bug)
right click on directory background
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

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

All paths will be connected according to the configuration,then as {path}
If 2 files are selected: path1.txt path2.txt
delimiter: ,
result path: "path1","path2"
note: Every path will be surrounded by quotes
When multiple files are selected, the [Param] may be different
so, the [Param] can be overwritten here
Typically:
single file: "{path}"
multiple files: {path}
add files to 7z archive
Exe:
"C:\\Program Files\\7-Zip\\7zG.exe"
Param:
a -ad "{parent}\{name}.7z" "{path}"
[Multiple Files] Match Multiple Files:
- JOIN
[Multiple Files] Path Delimiter: (space!!!)
[Multiple Files] Param:
a -ad "{parent}\files.7z" {path}
First of all, when the path contains spaces,7z requires quoted path
When only one file is selected, by default, the path will not be quoted, we must add quotes manually
Param: "{path}"
When multiple files are selected, quotes are added to each path by default, we don't need to add quotes manually, we must override the [Param]
[Multiple Files] Param: {path}
cache is used to reduce the slow loading caused by file io ?: see tip and cache time
use customeContextMenuDebug.exe to show param
see json:
https://github.com/ikas-mc/ContextMenuForWindows11/blob/dev-multiple/menuSample/16.debug.json
https://github.com/ikas-mc/ContextMenuForWindows11/tree/main/menuSample
{
"title":"open with 7zFM",
"exe":"\"C:\\Program Files\\7-Zip\\7zFM.exe\"",
"param":"\"{path}\"",
"icon":"\"C:\\Program Files\\7-Zip\\7zFM.exe\",0",
"acceptExts":".zip .7z .rar .exe .iso",
"acceptDirectory": false
}
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.