-
Notifications
You must be signed in to change notification settings - Fork 104
Help
This app read the menu config files from the app's localdata folder then create the context menu
The menu config use json format
- The left panel is used to add menus and view the menu list.the folder button is used to open config folder
- The right panel is used to edit menu selected
- click add and edit then save

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.