大多数系统都提供了一个open
命令(也称为start
、cygstart
等xdg-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 中打开:
start FileXYZ.pdf
// 在 Windows 中默认指定的 PDF 查看器中打开 PDFstart explorer .
// 在 Windows 资源管理器中打开当前 WSL 文件夹start MyApp.exe
// 启动 Windows 应用程序
答案4
这对我来说效果更好:
explorer.exe `wslpath -aw <path>`