在 Windows 资源管理器中打开当前文件夹中的 Cygwin/MinGW/PowerShell/Cmd

在 Windows 资源管理器中打开当前文件夹中的 Cygwin/MinGW/PowerShell/Cmd

假设我在 Windows 资源管理器中打开了一个文件夹,如下所示:

在此处输入图片描述

我希望能够通过使用键盘快捷键或右键单击并在弹出菜单中选择一个选项来直接在此处打开 Cygwin 终端。我还经常需要在特定目录中以这种方式打开 MinGW、PowerShell 或 Windows 命令终端。

现在我打开终端,然后复制粘贴路径并使用 CD 命令更改目录。但是,我相信肯定有更快的方法来完成这项工作,因为我们几十年来每天都需要这样做十几次。

顺便说一下,我正在使用 Windows 10,可能很快就会转向 Windows 11。

答案1

文件夹背景上下文菜单由HKEY_CLASSES_ROOT\Directory\background\shell注册表项控制。例如,“使用 Visual Studio 打开”条目由AnyCode子项控制。

命令提示符和 PowerShell

Windows 10 已经有 和 的条目cmd.exepowershell.exe但它们默认是隐藏的。您可以通过按住Shift键并右键单击文件夹窗口的背景来显示 PowerShell 条目。使用 值安装 PowerShell 时,命令提示符将被隐藏HideBasedOnVelocityId

要始终在文件夹背景上下文菜单中显示命令提示符和 PowerShell,而无需按住Shift

  1. 授予自己修改shell密钥的权限。
    1. 右键单击注册表编辑器中的键。
    2. 选择“权限”>“高级”。
    3. 将所有者更改为Administrators,然后选中“替换子容器和对象的所有者”和“用从该对象继承的权限条目替换所有子对象权限条目”。
    4. 单击“确定”关闭“权限”对话框。
  2. 在和cmdPowerShell项中,删除或重命名ExtendedHideBasedOnVelocityIdShowBasedOnVelocityId值。

总是显示 cmd

现在,当您右键单击文件夹的背景时,您应该在上下文菜单中看到“在此处打开命令窗口”和“在此处打开 PowerShell 窗口”。

新条目

要向文件夹背景上下文菜单添加新条目,您可以在HKEY_CLASSES_ROOT\Directory\background\shell注册表项中创建新项。

  • 新密钥的名称可以是任何您想要的唯一名称,它不会出现在 UI 中。
  • (Default)上下文菜单项的文本标签由键中的值控制。
  • 条目的可选图标由子键中的字符串值控制Icon。它可以是 ICO 文件的文件名,也可以是 PE 文件 (DLL/EXE),带有可选的数字 ID(以逗号分隔)。对于 PE 文件中图标的从 0 开始的索引,索引可以是非负数,对于资源 ID,索引可以是负数。
  • (Default)单击该条目时要运行的程序和参数由子键的值控制command。它使用%V占位符变量来表示当前目录。

MinGW Bash 示例

我已将 MinGW Bash 作为 Git for Windows 的一部分进行安装。这是一个.reg将其添加到我的文件夹背景上下文菜单的文件。您的安装目录可能会有所不同。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\bash]
@="Open in Bash"
"Icon"="C:\\Programs\\Development\\Git\\mingw64\\share\\git\\git-for-windows.ico"

[HKEY_CLASSES_ROOT\Directory\Background\shell\bash\command]
@="\"C:\\Programs\\Development\\Git\\bin\\bash.exe\""

这将在给定的文件夹中打开 Bash,即使命令没有使用%V,因为 Windows 默认以该文件夹作为新进程的工作目录来启动该进程(除非NoWorkingDirectory键中存在值)。

在文件夹上下文菜单中 bash

我不再安装 Cygwin,但很可能可以以类似的方式添加其 Bash 的菜单项。

Windows 11 有一个“在终端中打开”条目始终在等效菜单中可见,尽管自定义起来更具挑战性。

相关内容