2017-05-26 160 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結構。