【问题标题】:adding a shell context menu item so that I can add folder to path by right clicking添加一个外壳上下文菜单项,以便我可以通过右键单击将文件夹添加到路径
【发布时间】:2015-09-24 23:38:19
【问题描述】:

通常在工作中,我必须安装不会将自身添加到路径的新框架等,并且我必须经历将可执行文件添加到路径的繁琐过程。因此,我决定添加一个 shell 上下文菜单项,以便我可以将任何给定文件夹添加到路径中,只需右键单击它并选择“添加到路径”。

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

setx PATH "%PATH%;%1%"

这似乎没有评估 PATH 变量,而是将我的 PATH 替换为如下内容:

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

有没有办法让上下文菜单项评估 %PATH% 而不仅仅是忽略百分号? 我已经阅读了有关使用 \,^ 并仅添加额外 % 的信息,但这些方法似乎都不起作用。

如果重要的话,这是在 Windows 7 Enterprise 计算机上

【问题讨论】:

  • 现在通过运行能够正确评估百分比的 bat 文件来修复它。还必须创建另一个系统变量(我称之为 UPATH)并使脚本更改该系统变量而不是 PATH。如果我尝试直接设置它,则会遇到一些奇怪的问题,即两次添加到 PATH 中

标签: windows shell path registry contextmenu


【解决方案1】:

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

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

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

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

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

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

【讨论】:

    【解决方案2】:

    哇哇哇!我刚刚花了我生命中的最后 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(管理员模式)检查,打开的 cmd 提示不会有当前的 PATH 信息。出于某种原因获得双 ;s 。下面的 reg 文件仍然不起作用(有人知道为什么吗??)您必须使用 regedit 或 AdvancedRegistryEditor 手动输入(请参见下面的链接)。使用 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

    【讨论】:

    • 这个答案有很多题外话的部分没有回答这个问题。请删除不工作的部分。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-20
    • 1970-01-01
    • 1970-01-01
    • 2010-10-28
    • 2021-11-06
    • 1970-01-01
    相关资源
    最近更新 更多