将 Windows 10 上的 Ubuntu 上的 Bash 添加到资源管理器上下文菜单(问题)

将 Windows 10 上的 Ubuntu 上的 Bash 添加到资源管理器上下文菜单(问题)

我已通过添加以下注册表项成功将 Ubuntu 上的 Bash 提示符添加到上下文菜单中

[HKEY_CLASSES_ROOT\Directory\shell\bash]
@="Bash Here"
[HKEY_CLASSES_ROOT\Directory\shell\bash\command]
@="C:\\Windows\\System32\\bash.exe"

现在,上述解决方案已经两个主要问题我不知道如何解决的一个问题。

问题在于它启动的路径实际上是父目录的路径,而不是右键单击的路径。

我尝试在启动命令中添加其他参数,但是,这会导致提示在有机会读取任何错误信息之前立即关闭。

快捷方式的默认命令C:\Windows\System32\bash.exe ~确实有效,并让我进入/home/user/

更新:执行似乎C:\Windows\System32\bash.exe使用了存储在 下的一组设置[HKEY_CURRENT_USER\Console\%SystemRoot%_system32_bash.exe]以及默认位置中的一些设置(例如颜色) ,因此一旦保存了这些设置,它们就会成功重新加载。然而,安装时创建的快捷方式似乎使用了分配给(有待确认)[HKEY_CURRENT_USER\Console]的设置cmd.exe

更新 2:请不要提供涉及bash.exe从内部启动的解决方案cmd.exe

答案1

解决此问题的简单方法是通过 cmd 运行。此命令将当前工作目录设置为选定的文件夹,然后启动 bash。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\Bash]
@="Bash Here"

[HKEY_CLASSES_ROOT\Directory\shell\Bash\command]
@="C:\\Windows\\System32\\cmd.exe /k cd %1 && C:\\windows\\system32\\bash.exe"

经过测试并有效,只需将上述代码保存到文本文件中并将扩展名重命名为.reg

如果你想退出而不是返回 CMD,只需&& exit在命令末尾输入

答案2

您可以在此页面找到如何执行此操作的分步教程:http://winaero.com/blog/add-bash-to-the-folder-context-menu-in-windows-10/

此外,他们还提供可立即使用的注册表文件。我测试了注册表文件,它们可以在我的 Win10 x64 系统上运行。

相关内容