2017-05-26 333 views
-1

我想使用golang和exec库转到某个路径“c:\”并运行一个.exe文件。Golang为CMD执行cd命令

当我运行我的Go代码它给我:

高管:“CD:/”:文件不存在

+2

如果你分享了你的代码,对他人会有帮助。 – squiguy

回答

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 documentation。或者,您可以使用os/Chdir在运行程序之前更改工作目录。

1

您指定的初始工作目录在Cmd对象运行命令:

cmd.Dir = "C:\\" 

有关更多详细信息,请参阅documentation on the Cmd结构。