使用 PowerShell 脚本为 Cursor 添加右键菜单项
一、日常工作中的效率提升
通过右键菜单快速访问常用程序可以显著提高效率。本文将介绍如何使用 PowerShell 脚本为 Cursor 应用程序添加右键菜单项,使你能够方便地在文件、文件夹以及文件夹背景上通过右键菜单直接打开 Cursor。
二、准备工作
- Cursor 应用程序已安装:你需要确保 Cursor 应用程序已经安装在你的系统上,并且知道其可执行文件 (
Cursor.exe
) 的路径。 - PowerShell:本文使用的是 Windows PowerShell,确保你的系统上已安装并可以使用。
- 管理员权限:由于我们将修改系统注册表,脚本需要以管理员权限运行。
三、脚本内容详解
# 检查是否以管理员权限运行 $isAdmin = ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator) # 如果没有管理员权限,重新以管理员权限启动脚本 if (-not $isAdmin) { # 使用管理员权限重新启动 PowerShell 脚本 Start-Process powershell.exe -Verb RunAs -ArgumentList ("-File", $MyInvocation.MyCommand.Path) exit } # 定义 Cursor 可执行文件的路径 $cursorExePath = [System.IO.Path]::Combine($env:LOCALAPPDATA, "Programs", "cursor", "Cursor.exe") # 检查 Cursor 可执行文件是否存在 if (Test-Path $cursorExePath) { # 定义一个函数用于执行注册表命令 function Run-RegCommand { param ( [string]$command # 注册表命令参数 ) # 执行 reg.exe 命令并等待完成 $process = Start-Process -FilePath "reg.exe" -ArgumentList $command -NoNewWindow -Wait -PassThru if ($process.ExitCode -ne 0) { Write-Host "Failed to execute: reg.exe $command" exit 1 } } # 安装右键菜单项(背景) $backgroundPath = "HKEY_CLASSES_ROOT\Directory\Background\shell\Open with Cursor" Run-RegCommand "ADD `"$backgroundPath`" /ve /d `"Open with Cursor`" /f" Run-RegCommand "ADD `"$backgroundPath`" /v Icon /d `"$cursorExePath`" /f" Run-RegCommand "ADD `"$backgroundPath\command`" /ve /d `"\`"$cursorExePath\`" \`"%V\`"`" /f" Write-Host "Context menu for background installed successfully." # 安装右键菜单项(文件夹) $folderPath = "HKEY_CLASSES_ROOT\Directory\shell\Open with Cursor" Run-RegCommand "ADD `"$folderPath`" /ve /d `"Open with Cursor`" /f" Run-RegCommand "ADD `"$folderPath`" /v Icon /d `"$cursorExePath`" /f" Run-RegCommand "ADD `"$folderPath\command`" /ve /d `"\`"$cursorExePath\`" \`"%1\`"`" /f" Write-Host "Context menu for folders installed successfully." # 安装右键菜单项(文件) $filePath = "HKEY_CLASSES_ROOT\*\shell\Open with Cursor" Run-RegCommand "ADD `"$filePath`" /ve /d `"Open with Cursor`" /f" Run-RegCommand "ADD `"$filePath`" /v Icon /d `"$cursorExePath`" /f" Run-RegCommand "ADD `"$filePath\command`" /ve /d `"\`"$cursorExePath\`" \`"%1\`"`" /f" Write-Host "Context menu for files installed successfully." } else { Write-Host "Error: Cursor executable not found at $cursorExePath" } Write-Host "Press any key to exit..." $null = $Host.UI.RawUI.ReadKey("NoEcho, IncludeKeyDown")
四、脚本说明
- 检查管理员权限:脚本首先检查是否以管理员权限运行,如果没有,则重新以管理员权限启动自身。
- 定义 Cursor 可执行文件路径:脚本定义了 Cursor 可执行文件的路径,这里假设 Cursor 安装在用户的本地应用程序数据中。
- 检查 Cursor 可执行文件是否存在:在继续之前,脚本会检查 Cursor 可执行文件是否存在,确保后续操作不会出错。
- 定义执行注册表命令的函数:
Run-RegCommand
函数用于执行reg.exe
命令,并检查命令是否成功执行。 - 安装右键菜单项:脚本分别为文件夹背景、文件夹和文件添加右键菜单项,设置菜单项的显示名称、图标和关联的命令。
- 错误处理和退出:如果 Cursor 可执行文件未找到,脚本会输出错误信息。最后,脚本等待用户按任意键后退出。
五、如何运行脚本
- 复制脚本内容:将上述脚本内容复制到一个文本编辑器中,并保存为
.ps1
文件,例如Add-CursorRightClickMenu.ps1
。 - 以管理员身份运行 PowerShell:在 Windows 开始菜单中搜索 PowerShell,右键点击并选择“以管理员身份运行”。
- 运行脚本:在 PowerShell 窗口中,导航到脚本文件所在的目录,然后运行脚本,例如:
cd "C:\path\to\your\script"
.\Add-CursorRightClickMenu.ps1 - 按任意键退出:脚本执行完成后,按任意键退出。
六、报错处理
1、无法加载文件 C:\Users\zuoyang\Desktop\install-open-with-cursor.ps1,因为在此系统上禁止运行脚本。
PS C:\Users\zuoyang\Desktop> .\install-open-with-cursor.ps1 .\install-open-with-cursor.ps1 : 无法加载文件 C:\Users\zuoyang\Desktop\install-open-with-cursor.ps1,因为在此系统上禁止 运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。 所在位置 行:1 字符: 1 .\install-open-with-cursor.ps1 + CategoryInfo : SecurityError: (:) [],PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess
因为 PowerShell 的执行策略(Execution Policy)默认设置为不允许运行脚本。需要更改执行策略以允许运行本地编写的脚本。请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
解决办法1,临时更改执行策略(仅对当前会话有效):
1. 以管理员身份打开 PowerShell:
按 `Win + X`,然后选择“Windows PowerShell (管理员)”或“终端 (管理员)”。
2. 设置执行策略为 `Bypass` 或 `Unrestricted`:
```powershell Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass ```
或者
```powershell Set-ExecutionPolicy -Scope Process -ExecutionPolicy Unrestricted ```
3. 重新运行你的脚本:
```powershell .\install-open-with-cursor.ps1 ```
标签:脚本,Run,Cursor,管理员,右键,菜单项,PowerShell From: https://www.cnblogs.com/zuoyang/p/18623571