我的问题与问题完全相反如何从 WSL shell 的当前工作目录打开 Windows 资源管理器?。
当我在 Windows 资源管理器中的特定目录中时,cmd
在地址栏中键入内容会打开cmd
该目录中的。在此示例中,工作目录是C:\users
。
有没有类似方法wsl
在工作文件资源管理器中打开 shell 命令行?即打开以下 wsl 命令行:
从地址栏中键入并运行bash
或wsl
,打开 wsl 命令行,但不在当前工作目录中。
答案1
在地址栏中写入“wsl”而不是“cmd”。
第二次尝试:
抱歉,我忽略了原文的最后一行,可能是因为它在截图之后。请在命令行中使用以下命令检查您的注册表是否具有以下键:
- 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
- 启动命令:
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。