WSL2 Ubuntu下通过Windows Terminal调用explorer.exe打开任意目录方案
WSL2 Ubuntu调用explorer.exe打开任意目录解决方案
问题根因
直接执行explorer.exe 目标路径时,传入的是WSL侧的Linux格式路径,Windows资源管理器无法正确识别该路径规则,会解析失败 fallback 打开默认的Documents目录;只有explorer.exe .场景下WSL会自动传递当前工作目录对应的Windows路径上下文,因此可以正常打开。
修复方案
你可以通过封装自定义shell函数实现任意路径正常唤起资源管理器:
- 编辑
.bashrc配置文件
nano ~/.bashrc
- 在文件末尾添加如下函数:
start(){ path=$(wslpath -w "$1") /mnt/c/Windows/explorer.exe "$path" }
- 保存退出后执行以下命令让配置立即生效:
source ~/.bashrc
使用方法
配置完成后,直接执行start 目标路径即可打开对应目录,支持相对路径、绝对路径,路径包含空格也无需额外添加引号。
实现原理
- 借助WSL自带的
wslpath工具的-w参数,将Linux格式的路径转换为Windows可识别的标准路径格式 - 给传入explorer.exe的路径参数包裹引号,避免路径包含空格、特殊字符时出现解析异常
内容的提问来源于stack exchange,提问作者MENTAL
相关产品推荐
相关产品推荐

