首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >exec.Command(" date ")找不到日期命令

exec.Command(" date ")找不到日期命令
EN

Stack Overflow用户
提问于 2013-10-25 00:44:28
回答 2查看 2.1K关注 0票数 3
代码语言:javascript
复制
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%中找到可执行文件

如何让命令工作?我需要设置路径还是写出命令的完整路径?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-25 01:20:08

可悲的是,除非你从某个地方得到一个date.exe,否则这个例子不会对你有用(Cygwin?)加入你的%PATH%

我相信,现在发生的事情是date是Powershell的内置组件。它对你有效,因为你的外壳正在解释它。

你也许能做到

代码语言:javascript
复制
out, err := exec.Command("cmd", "/C", "date").Output()

正如建议的那样,这里;我不知道,我手头没有一台Windows机器。

西德诺特:

Get-Command date说:“术语'date‘不被识别为cmdlet的名称”

对于这一短语,Google的结果正好有两个。他们中的一个带我去了,它帮助我解决了这个问题。

票数 4
EN

Stack Overflow用户

发布于 2013-10-25 01:22:29

在windows上,由于date不是可执行文件,我将您的代码更改为运行如下:

代码语言:javascript
复制
out, err := exec.Command("cmd.exe", " /c date /t").Output()
if err != nil {
    log.Fatal(err)
}
fmt.Printf("The date is %s\n", out)

产出:

代码语言:javascript
复制
The date is Fri 25/10/2013
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19579238

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档