如何从文件(Windows)资源管理器直接打开 WSL bash(命令行)到当前工作目录

如何从文件(Windows)资源管理器直接打开 WSL bash(命令行)到当前工作目录

我的问题与问题完全相反如何从 WSL shell 的当前工作目录打开 Windows 资源管理器?

当我在 Windows 资源管理器中的特定目录中时,cmd在地址栏中键入内容会打开cmd该目录中的。在此示例中,工作目录是C:\users

在此处输入图片描述

有没有类似方法wsl在工作文件资源管理器中打开 shell 命令行?即打开以下 wsl 命令行:

在此处输入图片描述

从地址栏中键入并运行bashwsl,打开 wsl 命令行,但不在当前工作目录中。

答案1

在地址栏中写入“wsl”而不是“cmd”。


第二次尝试:

抱歉,我忽略了原文的最后一行,可能是因为它在截图之后。请在命令行中使用以下命令检查您的注册表是否具有以下键:

  1. WSL 密钥:
reg query HKCR\Directory\shell\WSL

我的电脑上的内容(我没有改变)是:

HKEY_CLASSES_ROOT\Directory\shell\WSL
    (Default)    REG_SZ    @wsl.exe,-2
    Extended    REG_SZ
    NoWorkingDirectory    REG_SZ
  1. 启动命令:
reg query HKCR\Directory\shell\WSL\command

内容应该是:

HKEY_CLASSES_ROOT\Drive\shell\WSL\command
    (Default)    REG_SZ    wsl.exe --cd "%V"

如您所见,这里有一个“隐藏”更改目录命令(cd)和一个参数。

类似地,查询驱动器的相应键:

reg query HKCR\Drive\shell\WSL\command

如果出现以下错误:

ERROR: The system was unable to find the specified registry key or value.

您的 wsl 安装有问题。更改上述键的值可以解决问题,但并非易事,因为它们受到保护,只有管理员trusted installer可以更改它们。在我看来,在 Windows 功能中停用 WSL、重新启动、再次激活并再次重新启动会更容易。

一种解决方法(可能更简单的解决方案)是定义一个新键

reg add HKCR\Directory\shell\WSL_here\command /ve /d "wsl.exe --cd \"%V\""

当然是在具有提升权限的命令提示符窗口中。这应该会立即在 Windows 资源管理器中在任何目录的右键单击菜单中插入一个新条目,通过选择/单击即可在该目录中启动 wsl。

相关内容