小编典典

exec.Command(“ date”)无法找到日期命令

go

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)
}

这是文档中用于执行系统命令的代码示例。http://golang.org/pkg/os/exec/#example_Cmd_Output即使在文档站点上,示例执行框也不运行,并且具有相同的错误:
2009/11/10 23:00:00 exec:“ date” :在$ PATH中找不到可执行文件

在Windows上,我得到:exec:“ date”:在%PATH%中找不到可执行文件

如何使命令起作用?我是否需要设置路径或写出命令的完整路径?


阅读 306

收藏
2020-07-02

共1个答案

小编典典

令人遗憾的是,除非您date.exe从某个地方(Cygwin?)得到一个并放入您的中,否则该示例将对您不起作用%PATH%

我相信这date是Powershell中的内置功能。它对您有用,因为您的外壳正在解释它。

您可能能够做到

out, err := exec.Command("cmd", "/C", "date").Output()

边注:

Get-Command日期说“术语’date’不被识别为cmdlet的名称”

该词组有两个Google结果。其中之一使我想到了这一点,这有助于我弄清楚这一点。

2020-07-02