I'd like to open a PDF file in the filesystem from go with the default application. How can I do that? From the command line I just write the filename of the pdf file and the application opens (with the requested file). When I try to use exec.Command()
I get an error (not surprisingly) exec: "foo.pdf": executable file not found in %PATH%
.
package main
import (
"log"
"os/exec"
)
func main() {
cmd := exec.Command("foo.pdf")
err := cmd.Start()
if err != nil {
log.Fatal(err)
}
err = cmd.Wait()
if err != nil {
log.Fatal(err)
}
}
You must launch cmd /C start foo.pdf
. This will let the start command find the correct executable for you.
cmd := exec.Command("cmd", "/C start path_to_foo.pdf")