package main
import (
"fmt"
"log"
"os/exec"
)
func main() {
out, err := exec.Command("date").Output()
if err != nil {
log.Fatal(err)
}
fmt.Printf("The date is %s\n", out)
}这是用于执行系统命令的文档中的代码示例。输出,即使在文档站点上,示例执行框也没有运行,并且有相同的错误:2009/11/10 23:00:00 :00 exec:"date":可执行文件未在$PATH中找到
在Windows上: exec:“日期”:未在%PATH%中找到可执行文件
如何让命令工作?我需要设置路径还是写出命令的完整路径?
发布于 2013-10-25 01:20:08
可悲的是,除非你从某个地方得到一个date.exe,否则这个例子不会对你有用(Cygwin?)加入你的%PATH%。
我相信,现在发生的事情是date是Powershell的内置组件。它对你有效,因为你的外壳正在解释它。
你也许能做到
out, err := exec.Command("cmd", "/C", "date").Output()正如建议的那样,这里;我不知道,我手头没有一台Windows机器。
西德诺特:
Get-Command date说:“术语'date‘不被识别为cmdlet的名称”
对于这一短语,Google的结果正好有两个。他们中的一个带我去了这,它帮助我解决了这个问题。
发布于 2013-10-25 01:22:29
在windows上,由于date不是可执行文件,我将您的代码更改为运行如下:
out, err := exec.Command("cmd.exe", " /c date /t").Output()
if err != nil {
log.Fatal(err)
}
fmt.Printf("The date is %s\n", out)产出:
The date is Fri 25/10/2013https://stackoverflow.com/questions/19579238
复制相似问题