一尘不染

Golang为CMD执行cd命令

go

我想使用golang和exec库转到某个路径“ c:\”并运行.exe文件。

当我运行go代码时,它会给我:

exec:“ cd:/”:文件不存在


阅读 1156

收藏
2020-07-02

共1个答案

一尘不染

cd命令是shell的内置命令,无论是bash,cmd.exe,PowerShell还是其他。您将不执行cd命令,然后执行要运行的程序。相反,你要设置DirCmd你要运行到包含程序的目录:

package main

import (
    "fmt"
    "log"
    "os/exec"
)

func main() {
    cmd := exec.Command("program") // or whatever the program is
    cmd.Dir = "C:/usr/bin"         // or whatever directory it's in
    out, err := cmd.Output()
    if err != nil {
        log.Fatal(err)
    } else {
        fmt.Printf("%s", out);
    }
}

有关更多信息,请参见Cmd文档。或者,您可以在运行程序之前使用os /
Chdir
更改工作目录。

2020-07-02