添加一个 shell 上下文菜单项,以便我可以通过右键单击将文件夹添加到路径

adding a shell context menu item so that I can add folder to path by right clicking

经常在工作中我必须安装新的框架等,它们不会将自己添加到路径中,而且我必须经历将可执行文件添加到路径中的繁琐过程。因此,我决定添加一个 shell 上下文菜单项,这样我就可以通过右键单击它并选择 "add to path".

将任何给定的文件夹添加到路径中

我完成了创建上下文菜单项的常规程序,并使用以下命令将文件夹添加到路径:

setx PATH "%PATH%;%1%"

这似乎没有评估 PATH 变量,而是用这样的东西替换了我的 PATH:

PATH;C:\Program Files (x86)\Android\android-sdk\platform-tools

有没有办法让上下文菜单项评估 %PATH% 而不是仅仅忽略百分号? 我读过有关使用 \,^ 的信息,只是添加了一个额外的 % 但这些方法中的 none 似乎有效。

以防万一,这是在 Windows 7 企业计算机上

设法找到永久解决方案。 由于 setx 设置的是用户路径而不是系统路径,我的问题中提到的命令会将组合的用户路径 + 系统路径中的所有元素添加到 PATH,每次 运行 脚本时有效地加倍其大小。

这可以通过删除用户路径来解决,或者像我一样,添加另一个用户变量并将其附加到路径。然后我最终使用以下脚本来正确设置路径:

cmd /k setx UPATH "%%UPATH%%;%1%" && exit

这样我就不需要使用 bat 文件了。使用双 %s 和 &s 似乎可以作为一种转义字符的方式,从而使它在 cmd 中看起来像这样:

setx UPATH "%UPATH%;drive:/theFolderYouRightClicked" & exit

我仍然不确定为什么你必须通过 cmd 传递它才能看到 PATH 变量,但至少这是解决我的问题的半干净方法

哇哇哇!我刚刚花了生命的最后 6 个多小时,试图从上下文菜单中(永久地)向我的路径添加一个目录。做得好Windows!

nircmd.exe elevate "cmd.exe" /k "setx /M PATH %%PATH%%;%1" && exit

非常感谢@Metareven 提供的一些关键信息(双 %s)。几年前失败了。下面的链接可获取相关信息,并希望有一个 reg 文件。 AddToPath.reg

在此过程中清除了我所有的路径!完全值得的! :)

您的 C:\windows\system32 文件夹(或您的路径!)中需要 nircmd.exe。 “/k”是必需的,只有上帝知道为什么。 “/M”代表机器、系统、永久。 (我就像放弃和浪费所有这些时间的两次尝试)。

使用RapidEnvironmentEditor(admin模式)查看,打开的cmd提示不会有当前PATH信息。出于某种原因得到双倍的。下面的 reg 文件仍然不起作用(有人知道为什么吗??)您必须使用 regedit 或 AdvancedRegistryEditor 手动输入(参见下面的 link)。使用 EcMenu.exe 清除上下文菜单错误(和其他错误)。

Windows Registry Editor Version 5.00  **doesn't work**

[HKEY_CLASSES_ROOT\Folder\shell\AddToPath]
"Add To Path"

[HKEY_CLASSES_ROOT\Folder\shell\AddToPath\command]
nircmd.exe elevate "cmd.exe" /k "setx /M PATH %%PATH%%;%1"

这确实对我有用(没有双 %s)但只对用户路径:

cmd /k setx PATH "%PATH;"%1 && pause

How add context menu item to Windows Explorer for folders

How to Run a Program Elevated via the Right-Click Menu in Windows ...

这也可能以某种方式代替 nircmd 工作:https://superuser.com/a/938121 "C:\Windows\System32\cmd.exe"="~ RUNASADMIN"

试过了,没用:https://superuser.com/questions/266974/any-freeware-program-for-adding-editing-path-from-context-menu