Nilesoft Shell:打造个性化 Win11 右键菜单

Windows 11 右键菜单自定义神器!强大的 Nilesoft Shell 让你随心所欲定制右键菜单

1. 什么是 Nilesoft Shell?

Nilesoft Shell 是一款强大的 Windows 右键菜单自定义工具,让你完全掌控右键菜单的每一个细节。无论是添加常用程序、自定义图标、创建子菜单,还是根据文件类型显示不同选项,Nilesoft Shell 都能轻松实现。

核心优势:

  • ✅ 完全免费开源
  • ✅ 配置灵活强大
  • ✅ 支持动态菜单和条件显示
  • ✅ 可自定义图标和样式
  • ✅ 轻量级,不影响系统性能

接下来,我们以"添加 Cursor 到右键菜单"为例,演示如何使用 Nilesoft Shell。

2. 安装 Nilesoft Shell

前往官网下载并安装 Nilesoft Shell。安装完成后可能需要重启资源管理器才能看到效果。

提示:安装时请记住安装路径,后续配置时会用到。

3. 体验默认功能

安装完成后,右键点击桌面,即可看到 Nilesoft Shell 的默认菜单。默认配置已经包含了许多实用功能,比如快速访问系统工具、文件操作等。

默认菜单效果

这只是冰山一角,接下来我们将学习如何自定义菜单!

4. 认识配置文件

Nilesoft Shell 的所有配置都保存在 shell.nss 文件中。这是一个纯文本配置文件,使用类似 JavaScript 的语法,易读易写。

进入 Nilesoft 安装目录,找到并打开 shell.nss 文件:

配置文件位置

默认配置内容(建议保存备份,方便出错时恢复):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
settings
{
	priority=1
	exclude.where = !process.is_explorer
	showdelay = 200
	// Options to allow modification of system items
	modify.remove.duplicate=1
	tip.enabled=true
}

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

import 'imports/modify.nss'

menu(mode="multiple" title="Pin/Unpin" image=icon.pin)
{
}

menu(mode="multiple" title=title.more_options image=icon.more_options)
{
}

import 'imports/terminal.nss'
import 'imports/file-manage.nss'
import 'imports/develop.nss'
import 'imports/goto.nss'
import 'imports/taskbar.nss'

5. 基本操作

掌握基本操作是使用 Nilesoft Shell 的第一步。以下是最常用的几个操作。


5.1. 应用配置修改

每次修改配置文件后,需要重启资源管理器才能使配置生效。

操作方法:

  1. 在开始菜单搜索 nilesoft 或直接运行安装目录下的 shell.exe
  2. 在弹出的窗口中选择 Restart Explorer(重启资源管理器)

重启资源管理器

三个选项说明:

  • Register:启用 Nilesoft Shell
  • Unregister:停用 Nilesoft Shell
  • Restart Explorer:重启资源管理器(使配置生效)

5.2. 移除菜单项

如果想移除右键菜单中的某个选项,可以使用 remove() 命令。

语法格式:

1
remove((find = "菜单上显示的文字"));

使用示例:

比如要移除「护眼卫士」这个选项,在配置文件末尾添加:

1
remove((find = "护眼卫士"));

保存后重启资源管理器,该选项即可消失。

移除前后对比

⚠️ 注意事项:

  1. 必须一字不差:引号内的文字必须与右键菜单中显示的完全一致(包括空格、符号)
  2. 语言匹配:中文系统填中文,英文系统填英文(如 remove(find="Print")
  3. 支持模糊匹配:可以使用通配符,如 remove(find="护眼*") 移除所有以"护眼"开头的菜单项

5.3. 添加菜单项

添加自定义菜单项是 Nilesoft Shell 的核心功能。根据不同场景,添加方式略有不同。


5.3.1. 场景一:添加普通应用程序

适用于计算器、记事本等不需要参数的程序。

语法格式:

1
item(title='菜单名' cmd='程序命令' image=图标)

示例:添加计算器

1
2
// 添加计算器到右键菜单
item(title='计算器' cmd='calc.exe' image=\uE1E7)

参数说明:

  • title:菜单中显示的文字
  • cmd:要执行的程序命令
  • image:菜单图标(\uE1E7 是系统内置的计算器图标)

5.3.2. 场景二:添加文件处理工具

适用于需要打开当前选中文件的程序,如编辑器、播放器等。

关键点:使用 args='"@sel.path"' 将选中的文件路径传递给程序。

示例:添加 Python 运行

第一步:获取 Python 路径

  1. Win + R 打开运行,输入 cmd 回车
  2. 在命令行中输入:where python
  3. 复制显示的路径(如 C:\Users\xxxxx\anaconda3\python.exe

第二步:添加配置

1
2
3
4
5
// 用 Python 运行当前脚本
item(title='用 Python 运行'
     cmd='python'
     args='"@sel.path"'
     image='C:\Users\xxxxx\anaconda3\python.exe')

参数说明:

  • args='"@sel.path"':将选中文件的完整路径传递给 Python
  • image='...':程序路径需要加引号,系统会自动提取程序图标

5.3.3. 场景三:添加网址快捷方式

可以将常用网站添加到右键菜单,点击即可打开浏览器。

示例:添加 Google 搜索

1
2
3
4
5
6
7
8
// 添加 Google 搜索
item(title='Google 搜索'
     cmd='https://www.google.com/')

// 搜索选中的文本
item(title='搜索选中内容'
     cmd='https://www.google.com/search?q=@sel.text'
     image=\uE16F)

参数说明:

  • @sel.text:获取选中的文本内容

效果展示:

添加网址效果

6. 进阶操作

掌握基本操作后,我们来学习更强大的功能,让右键菜单更加智能和精准。


6.1. 条件显示:让菜单项更智能

通过 where 参数,可以让菜单项根据不同条件显示,避免菜单杂乱。

6.1.1. 语法格式

1
item(where=条件 title='菜单名' cmd='命令')

6.1.2. 根据文件扩展名显示

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
// 只在 .py 文件上显示
item(where=sel.ext=='.py'
     title='用 Python 运行'
     cmd='python'
     args='"@sel.path"')

// 只在图片文件上显示(支持多种格式)
item(where=sel.ext=='.jpg' or sel.ext=='.png' or sel.ext=='.gif'
     title='画图编辑'
     cmd='mspaint.exe'
     args='"@sel.path"')

// 只在 Markdown 文件上显示
item(where=sel.ext=='.md'
     title='用 Typora 打开'
     cmd='C:\Program Files\Typora\Typora.exe'
     args='"@sel.path"')

6.1.3. 根据选择类型显示

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
// 只在选中文件时显示(不包括文件夹)
item(where=sel.type==1
     title='Google 搜索文件名'
     cmd='https://www.google.com/search?q=@sel.name')

// 只在选中文件夹时显示
item(where=sel.type==2
     title='在此处打开 CMD'
     cmd='cmd.exe'
     args='/K cd /d "@sel.path"')

// 只在空白处显示(没有选中任何东西)
item(where=sel.count==0
     title='计算器'
     cmd='calc.exe')

6.1.4. 根据文件数量显示

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
// 只在选中单个文件时显示
item(where=sel.count==1
     title='查看文件属性'
     cmd='explorer.exe'
     args='/select,"@sel.path"')

// 选中多个文件时显示
item(where=sel.count>1
     title='批量处理'
     cmd='你的批量处理工具路径')

6.1.5. 组合条件

1
2
3
4
5
// Python 文件 且 只选中一个文件
item(where=sel.ext=='.py' and sel.count==1
     title='调试此脚本'
     cmd='python'
     args='-m pdb "@sel.path"')

6.1.6. 实战案例:智能编辑器菜单

根据不同文件类型,自动调用相应的编辑器:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
// Markdown 文件用 Typora 打开
item(where=sel.ext=='.md'
     title='Typora 编辑'
     cmd='C:\Program Files\Typora\Typora.exe'
     args='"@sel.path"')

// 代码文件用 VSCode 打开
item(where=sel.ext=='.py' or sel.ext=='.js' or sel.ext=='.html'
     title='VSCode 编辑'
     cmd='C:\Users\你的用户名\AppData\Local\Programs\Microsoft VS Code\Code.exe'
     args='"@sel.path"')

// 文本文件用记事本打开
item(where=sel.ext=='.txt'
     title='记事本编辑'
     cmd='notepad.exe'
     args='"@sel.path"')

6.2. 创建子菜单:让菜单更整洁

当自定义菜单项越来越多时,可以用子菜单进行分组,保持菜单简洁。

6.2.1. 基本语法

1
2
3
4
5
6
menu(title='菜单组名' image=图标) {
    item(title='选项 1' cmd='...')
    item(title='选项 2' cmd='...')
    sep  // 分隔线
    item(title='选项 3' cmd='...')
}

6.2.2. 实战案例:开发工具菜单

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
// 创建"开发工具"子菜单
menu(title='开发工具' image=\uE26C) {
    item(title='Cursor'
         cmd='C:\Users\你的用户名\AppData\Local\Programs\cursor\Cursor.exe'
         args='"@sel.path"')

    item(title='VSCode'
         cmd='C:\Users\你的用户名\AppData\Local\Programs\Microsoft VS Code\Code.exe'
         args='"@sel.path"')

    sep  // 添加分隔线

    item(title='Git Bash'
         cmd='C:\Program Files\Git\git-bash.exe'
         args='"@sel.path"')
}

效果:右键菜单会显示"开发工具",点击后展开包含多个选项的二级菜单。


6.3. 添加分隔线:让菜单更清晰

使用 sep 在菜单项之间添加分隔线,让菜单结构更清晰。

1
2
3
4
item(title='选项 1' cmd='...')
item(title='选项 2' cmd='...')
sep  // 添加分隔线
item(title='选项 3' cmd='...')

6.4. 图标使用技巧

图标可以让菜单更美观易识别。Nilesoft Shell 支持三种图标添加方式。


6.4.1. 方式一:使用程序自带图标(推荐)

直接使用程序的 .exe 文件路径,系统会自动提取图标。

1
2
3
4
// 使用程序自带图标
item(title='Cursor'
     cmd='C:\Users\xxxxx\AppData\Local\Programs\cursor\Cursor.exe'
     image='C:\Users\xxxxx\AppData\Local\Programs\cursor\Cursor.exe')

优点:图标与程序完全匹配,视觉统一。


6.4.2. 方式二:使用 Unicode 图标代码

使用 Windows 内置的 Segoe MDL2 Assets 字体图标。

1
2
// 使用系统内置图标
item(title='计算器' cmd='calc.exe' image=\uE1E7)

常用图标代码:

图标代码效果适用场景
\uE1E7计算器计算器
\uE26C代码编程工具
\uE943文档文本编辑
\uE713设置系统设置
\uE768播放媒体播放
\uE16F搜索搜索功能

⚠️ 重要提示:Unicode 图标代码不要加引号,直接使用!

1
2
3
4
5
// ✅ 正确写法
image=\uE1E7

// ❌ 错误写法(加引号图标不显示)
image='\uE1E7'

6.4.3. 方式三:不使用图标

如果不需要图标,直接省略 image 参数即可。

1
2
// 不使用图标
item(title='我的工具' cmd='...')

6.5. 常用变量和属性

在配置中可以使用丰富的变量和属性来获取上下文信息。

6.5.1. 选择对象相关变量(@sel)

基础路径变量:

变量说明示例值
@sel.path选中项的完整路径C:\Users\xxx\file.txt
@sel.name文件名(含扩展名)file.txt
@sel.title文件名(不含扩展名)file
@sel.ext文件扩展名.txt
@sel.parent父文件夹路径C:\Users\xxx
@sel.parent.name父文件夹名称xxx
@sel.root根目录路径C:\

条件判断属性:

属性说明可能值
sel.count选中的文件数量0, 1, 2, 3
sel.type选择类型(见下表)数字代码

其他实用变量:

变量说明示例
@sel.text选中的文本内容被选中的文字
@sel.file仅文件的路径(排除文件夹)C:\file.txt
@sel.directory仅文件夹的路径(排除文件)C:\folder
@sel.curdir当前工作目录C:\Users\xxx

6.5.2. 类型判断(type 属性)

where 条件中,可以使用 type 属性精确控制菜单显示:

类型值说明使用示例
file文件where=sel.type==file
dir / directory文件夹where=sel.type==dir
drive驱动器where=sel.type==drive
fixed固定磁盘(如硬盘)where=sel.type==fixed
removable可移动磁盘(如 U 盘)where=sel.type==removable
usbUSB 设备where=sel.type==usb
dvdDVD 驱动器where=sel.type==dvd
remote网络驱动器where=sel.type==remote
vhd虚拟硬盘where=sel.type==vhd
desktop桌面where=sel.type==desktop
recyclebin回收站where=sel.type==recyclebin
taskbar任务栏where=sel.type==taskbar

实战示例:

1
2
3
4
5
6
7
8
// 只在 U 盘上显示
item(where=sel.type==usb title='安全弹出 U 盘' cmd='...')

// 只在回收站显示
item(where=sel.type==recyclebin title='清空回收站' cmd='...')

// 排除网络驱动器
item(where=sel.type!=remote title='本地文件操作' cmd='...')

6.5.3. 完整变量列表

以上仅列出常用变量。Nilesoft Shell 还提供了更多高级变量和函数,包括:

  • 文件元数据获取(sel.meta()
  • 快捷方式信息(sel.lnk
  • 路径长度检测(sel.path.length
  • 只读/隐藏属性判断(sel.readonly, sel.hidden
  • 等等…

查看完整文档:

7. 默认配置汉化

Nilesoft Shell 默认菜单为英文,对中文用户不够友好。下面提供文件管理和**快速跳转(Go to)**两个菜单的汉化配置,可直接替换使用。

7.1. 下载汉化文件

点击下方菜单名称即可下载对应汉化配置(浏览器会下载 .nss 文件):

对应菜单说明
file-manage.nss复制路径、重命名、在新窗口打开等文件与文件夹操作
goto.nss桌面、下载、文档、控制面板、设置等系统常用入口

7.2. 替换与生效

  1. 替换原文件:打开 Nilesoft Shell 安装目录下的 imports 文件夹(即 nilesoft\imports),将下载好的 file-manage.nssgoto.nss 拖入,若提示已存在同名文件则选择替换
  2. 生效:在 Nilesoft Shell 中执行 Restart Explorer(重启资源管理器)后即可看到汉化效果。

8. 常见问题

8.1. 新增选项没有出现,且菜单风格变差

症状示例:

image

原因分析:

配置文件语法错误导致 Nilesoft Shell 加载失败,系统回退到默认右键菜单。

解决方法:

  1. 逐步排查:删除最近添加的配置,重启资源管理器测试
  2. 常见错误
    • 程序路径未加引号(如 image=C:\xxx\xxx.exe 应改为 image='C:\xxx\xxx.exe'
    • Unicode 图标错误加了引号(如 image='\uE1E7' 应改为 image=\uE1E7
    • 括号、引号未正确闭合
  3. 恢复备份:如果改乱了,使用前面保存的默认配置恢复

调试技巧

  • 每次只添加一个配置,测试无误后再添加下一个
  • 养成备份配置文件的习惯
  • 注意检查中英文标点符号(要用英文标点)

9. 总结

Nilesoft Shell 是一款功能强大的右键菜单定制工具,通过简单的配置文件即可打造出完全符合个人工作流的右键菜单。

核心要点:

  • 使用 remove() 移除不需要的菜单项
  • 使用 item() 添加自定义菜单项
  • 使用 where 参数实现条件显示
  • 使用 menu() 创建子菜单分组
  • 每次修改后记得重启资源管理器

掌握这些技巧,你的 Windows 右键菜单将变得更加高效、整洁、个性化!

10. 相关资源

Powered by YSY
使用 Hugo 构建
主题 StackJimmy 设计