我已通过添加以下注册表项成功将 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 系统上运行。