如何使用默认应用程序从 WSL “打开”文件?

如何使用默认应用程序从 WSL “打开”文件?

大多数系统都提供了一个open命令(也称为startcygstartxdg-open),它可以在桌面环境的“默认”应用程序中打开一个文件,无论它是什么。

例如,在 Powershell 中输入:

PS> start form.pdf

该文档在 Edge 中弹出打开。

Bash-on-Ubuntu-on-Windows 可以做到这一点吗?

答案1

WSL 2 的最新答案:只需执行即可wslview slides.pdf

这是wslu 收藏并已预装在我的 Ubuntu 中。遗憾的是,文档有点稀疏。

所有的cmd.exe变体对我来说都不起作用,因为它不想在这样的路径内打开\\wsl$\…

答案2

由于 Windows Linux 互操作开始工作,您现在可以调用:

cmd.exe /C start <file>

答案3

正如 Martijn 所说,这是执行/打开 Windows 应用程序/文件的正确方法。

cmd.exe /C start <file>

我发现将其放入我保存在系统路径文件夹中的 bash 脚本中非常有用。我将其命名start并对chmod 0744文件执行操作以使其可执行。这$*意味着它将您提供给脚本的所有命令行参数传递给cmd.exe

#!/bin/bash
cmd.exe /c start "Launching from BASH" "$*"

使用系统路径中的这个命令,我可以在 Linux 中执行如下命令并在 Windows 中打开:

  1. start FileXYZ.pdf// 在 Windows 中默认指定的 PDF 查看器中打开 PDF
  2. start explorer . // 在 Windows 资源管理器中打开当前 WSL 文件夹
  3. start MyApp.exe // 启动 Windows 应用程序

答案4

这对我来说效果更好:

explorer.exe `wslpath -aw <path>`

相关内容