功能强大的右键菜单工具 Nilesoft Shell

5次阅读
没有评论

直接上链接 https://nilesoft.org/download

图在最后面。
打开 shell.exe ,点击 Regisiter 即可。第2个是卸载。第3个重新explorer。
默认使用 shell.nss ,可以把所有的编码写在这里,也可以使用import来调用其他文件。

今天这里主要介绍一些常用的用法。

默认设置,可根据个人喜好调整

settings
{
priority=1
exclude.where = !process.is_explorer
showdelay = 10
// Options to allow modification of system items
modify.remove.duplicate=1
tip.enabled=true
}

引用其他模块,自带的一些主题、图标。不同类型或功能的模块可以分开写。

import 'imports/theme.nss'
import 'imports/images.nss'

复制路径

item(title=' > 复制路径' image=icon.copy_path cmd=command.copy(sel.path) pos=0) 名称 说明 item() 创建单个项目 title 显示的名称 image 显示的图标。有很多内置的图标,可以上官网查询 cmd 点击后要运行的命令 pos 项目放的位置,0指第1个。

自建 WinRAR 菜单

menu(type="file|dir" mode="multiple" title='WinRAR' image='winrar.exe')
{
item(find='.rar|.zip|.exe|.7z|.gz' title=' > 用 WinRar 打开' image=inherit cmd='winrar.exe' args='@sel.path.quote')
item(find='.rar|.zip|.exe|.7z|.gz' title=' > 解压到 <当前文件夹>' image=inherit cmd='winrar.exe' args='x @sel.path.quote')
item(find='.rar|.zip|.exe|.7z|.gz' title=' > 解压到 <@sel.title>' image=inherit cmd='winrar.exe' args='x -ad @sel.path.quote')
sep
item(type='file|dir' mode="multiple" image=inherit title=' > 添加到 @sel.parent.name' + '.rar' cmd='winrar.exe' args='a -ep1 -md256 "@sel.parent' + '\' + '@sel.parent.name' + '.rar" @sel(true, " ")')
item(type='file|dir' mode="multiple" image=inherit title=' > 添加到 @sel.parent.name' + '.rar 后删除' cmd='winrar.exe' args='a -ep1 -md256 -df "@sel.parent' + '\' + '@sel.parent.name' + '.rar" @sel(true, " ")')
item(type='file|dir' mode="multiple" image=inherit title=' > 添加到 @sel.title' + '.rar' cmd='winrar.exe' args='a -ep1 -md256 "@sel.parent' + '\' + '@sel.title' + '.rar" @sel(true, " ")')
item(type='file|dir' mode="multiple" image=inherit title=' > 添加到 @sel.title' + '.rar 后删除' cmd='winrar.exe' args='a -ep1 -md256 -df "@sel.parent' + '\' + '@sel.title' + '.rar" @sel(true, " ")')
}
名称 说明 menu 创建一个菜单项 type 当前菜单要出现的场景,file|dir表示右键点击在文件或文件夹上面,会出现此项 mode multiple表示可多选。不使用multiple时,若选中项2个以上,则不显示此菜单。 find 在选中项的名称中查找,| 表示可以匹配多个值。 image inherit,表示继承父级的图标 cmd 要运行的程序,如果不是完整路径,则要把程序所在的文件夹路径加入系统path args 运行cmd指定的程序使用的参数。 @sel.path.quote 当前选中的路径(单个),以双引号包围 @sel(true, " ") 当前选中的所有路径(多个),以双引号包围,再用空格连接起来 @sel.parent 父级路径 @sel.title 所选项目的名称 @sel.parent.name 父级名称

以 UltraEdit 打开

item(type='file'
title=' > 用 UltraEdit 打开'
image cmd='D:\Program Files\UltraEdit\uedit64.exe'
args=sel.path.quote)

可分多行写。
单个文件,指定文件后缀,调用python脚本来处理

item(mode="single" // 单个文件,多选不生效
find='.jpg|.jpeg|.bmp|.gif|.png' // 指定文件类型为图片
title=' > 裁剪成2英寸'
image=\uE114 // 使用的图标,可上官网查询
cmd='Pythonw.exe'
args='"D:\Python\ImgTo2Inch.py" @sel.path.quote')

带有条件的项

item(where=(str.end(sel.path, ".pw")|sel.file.ext=='.zip'|sel.file.ext=='.rar')
title=' > 获取PV详情'
image=icon.view
cmd='D:\VB.NET\get pv info\bin\Debug\get pv info.exe'
args='@sel.path.quote')
项目 说明 where 设置一个条件,符合条件才会出现这个项目, | 表示 '或' 关系 str.end(sel.path, ".pw") 判断当前路径是否以 .pw 结尾 ,返回true/false sel.file.ext 当前文件的后缀(不分大小写)

打开剪贴板(个人爱好,复制路径后,右键直接能打开)

item(title='打开剪贴板'
where=path.exists(clipboard.get) // 判断剪贴板中路径是否存在
type='*' // 在任何位置都能打开
image=\uE1F4
cmd=clipboard.get // 获取剪贴板内容并打开。
tip=[clipboard.get,4,0.1]) // 提示的内容和样式,具体用法见官网

修改某处程序的图标

modify(find='7-Zip' image='C:\Program Files\7-Zip\7zFM.exe') 7z默认好像没图标,可以修改。 名称 说明 modify 修改一个项 find 查找项目的内容 image 如果找到了,就用这个图标代替

删除某项

remove(find='360' type='file') 名称 说明 remove 删除某项 find 查找内容,如果项目中含有该字符,则删除 type file表示仅限点击文件时的菜单。

重新加载配置

item(type='*' vis=key.shift() title='重新加载配置' image=\uE0F0 cmd=app.reload)

key.shift()表示要按住shift后再点右键才能触发。
经常修改配置的时候,这个很有用,因为修改配置文件后并不能马上生效。
重启explorer太费劲,这个重新加载比较好用。

启动jupyter

item(type="desktop|dir|back.dir"
title=' > Jupyter Notebook'
image cmd='jupyter.exe' // image放在cmd前面时,image会使用cmd所指的exe图标
args='notebook')

如果上面用法都会了,那么已经可以订制一个属于自己的右键菜单了。

程序自带的imports目录下也有不少,可以自己看看。
下面附上一些常用的

menu(where=@(this.count == 0) type='taskbar' image=icon.settings expanded=true)
{
menu(title="窗口管理" image=\uE1FB)
{
item(title="层叠窗口" image=inherit cmd=command.cascade_windows)
item(title='堆叠窗口' image=inherit cmd=command.Show_windows_stacked)
item(title='并排显示' image=inherit cmd=command.Show_windows_side_by_side)
sep
item(title='最小化所有窗口' image=inherit cmd=command.minimize_all_windows)
item(title='恢复所有窗口' image=inherit cmd=command.restore_all_windows)
}
item(title='显示桌面' image=icon.desktop cmd=command.toggle_desktop)
item(title='系统设置' image=icon.settings(auto, image.color1) cmd='ms-settings:')
item(title='任务管理器' sep=both image=icon.task_manager cmd='taskmgr.exe')
item(title='任务栏设置' sep=both image=inherit cmd='ms-settings:taskbar')
item(vis=key.shift() or key.lbutton() title='重启资源管理器' image=\uE1F9 cmd=command.restart_explorer)
}

menu(type="desktop|taskbar" where=window.is_taskbar||sel.count mode=mode.multiple title='转至功能' sep=sep.both image=\uE04C)
{
menu(title='文件路径' image=\uE1F4)
{
item(title='下载' image=inherit cmd=user.downloads)
item(title='文档' image=inherit cmd=user.documents)
item(title='桌面' image=inherit cmd=user.desktop)
item(title='账户' image=inherit cmd=user.dir)
item(title='开始' image=inherit cmd=user.startmenu)
separator
item(title='Windows' image=inherit cmd=sys.dir)
item(title='System' image=inherit cmd=sys.bin)
item(title='Program Files' image=inherit cmd=sys.prog)
item(title='Program Files x86' image=inherit cmd=sys.prog32)
item(title='ProgramData' image=inherit cmd=sys.programdata)
item(title='Applications' image=inherit cmd='shell:appsfolder')
item(title='Users' image=inherit cmd=sys.users)
item(title='AppData' image=inherit cmd=user.appdata)
item(title='Temp' image=inherit cmd=user.temp)
}
item(title='系统运行' image=\uE14B cmd='shell:::{2559a1f3-21d7-11d4-bdaf-00c04f60b9f0}')
separator
item(title=title.control_panel image=\uE0F3 cmd='shell:::{5399E694-6CE5-4D6C-8FCE-1D8870FDCBA0}')
item(title='控制列表' image=\uE0F3 cmd='shell:::{ED7BA470-8E54-465E-825C-99712043E01C}')
menu(where=sys.ver.major >= 10 title='系统设置' sep=sep.before image=\uE0F3){
item(title='设置概览' image=inherit cmd='ms-settings:')
item(title='系统信息' image=inherit cmd='ms-settings:about')
item(title='账户信息' image=inherit cmd='ms-settings:yourinfo')
item(title='设备管理' image=inherit cmd='ms-settings:bluetooth')
//item(title='CMD 关于' image=inherit cmd-line='/K systeminfo')
//item(title='搜索' cmd='search-ms:' image=inherit)
//item(title='USB' image=inherit cmd='ms-settings:usb')
item(title='系统更新' image=inherit cmd='ms-settings:windowsupdate')
//item(title='安全中心' image=inherit cmd='ms-settings:windowsdefender')
menu(title='应用管理' image=inherit)
{
item(title='已装应用' image=inherit cmd='ms-settings:appsfeatures')
item(title='默认应用' image=inherit cmd='ms-settings:defaultapps')
item(title='应用启动' image=inherit cmd='ms-settings:startupapps')
item(title='可选功能' image=inherit cmd='ms-settings:optionalfeatures')
}
menu(title='个性设置' image=inherit)
{
item(title='主题' image=inherit cmd='ms-settings:themes')
item(title='颜色' image=inherit cmd='ms-settings:colors')
item(title='背景' image=inherit cmd='ms-settings:personalization-background')
item(title='锁屏' image=inherit cmd='ms-settings:lockscreen')
item(title='开始' image=inherit cmd='ms-settings:personalization-start')
item(title='任务栏' image=inherit cmd='ms-settings:taskbar')
item(title='个性化' image=inherit cmd='ms-settings:personalization')
}
menu(title='网络管理' image=inherit)
{
item(title='网络概览' image=inherit cmd='ms-settings:network-status')
item(title='以太网络' image=inherit cmd='ms-settings:network-ethernet')
item(title='网络连接' image=inherit cmd='shell:::{7007ACC7-3202-11D1-AAD2-00805FC1270E}')
}
}
}

黑底的主题

theme
{
name = "modern"
view = view.small
dark = true
background
{
color = #FFFFFF
opacity = 8
effect = 3
}
image.align = 2
shadow.enabled = true
shadow.size = 5
font {size = 14}
}

正文完
 0
116博客
版权声明:本篇文章由 116博客 于2025-04-30发表,共计6986字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码