使用 Go 在 Windows 资源管理器中显示文件?

Sha*_*ews 2 windows go

如何使用 Go 在 Windows 资源管理器中显示文件?

此命令在命令行中按预期工作:

explorer /select,C:\data\My File.txt
Run Code Online (Sandbox Code Playgroud)

exec.Command()无论尝试何种参数组合,我都无法使用 Go 的方法获得相同的命令。

这有效:

exec.Command(`explorer`, `/select,C:\data\MyFile.txt`) // SUCCEEDS 
Run Code Online (Sandbox Code Playgroud)

但由于文件名中有空格而失败。

exec.Command(`explorer`, `/select,C:\data\My File.txt`) // FAILS 
Run Code Online (Sandbox Code Playgroud)

笔记:

idb*_*rii 8

对于 golang 新手(比如我自己)来说更完整的答案:

package main
import (
    "os/exec"
)

func main() {
    cmd := exec.Command(`explorer`, `/select,`, `C:\data\My File.txt`)
    cmd.Run()
}
Run Code Online (Sandbox Code Playgroud)


icz*_*cza 6

如果将/select,操作和实际路径分开,并将它们作为单独的参数传递,则可以使其工作:

exec.Command(`explorer`, `/select,`, `C:\data\My File.txt`)
Run Code Online (Sandbox Code Playgroud)