-
Notifications
You must be signed in to change notification settings - Fork 104
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} absolute address of the right-clicked file or folder
{name} file name (version>=1.1.2.0)
{parent} file parent(version>=1.9.0.0)
If the path has spaces
Generally, use "{path}"
But if the parameter needs to contain quotation marks, then use \"{path}\"
Other special needs can be tested by yourself
you can modify menu name in manager ui

"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 file extensions
.apk .apkx .mapk
# * match all
*
check checkbox to match

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}
https://github.com/ikas-mc/ContextMenuForWindows11/blob/main/menuSample/15.add%20to%207z.json
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
The cache needs to be manually built each time

?: see tip and cache time 🔁: build cache x: clear cache to disable cache
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.