gpt4 book ai didi

go - golang执行命令出错

转载 作者:数据小太阳 更新时间:2023-10-29 03:41:23 26 4
gpt4 key购买 nike

我试图在 Golang 中获取操作系统名称下面是我的代码。

// GetOsName.go
package main

import (
"fmt"
"os/exec"
)

func main() {
fmt.Println("systeminfo","|","findstr","/B","/C:\"OS Name\"")
Out,err:=exec.Command("systeminfo","|","findstr","/B","/C:\"OS Name\"").Output()
if err!=nil{
fmt.Println("Err:",err)
}else{
fmt.Println("Out:",string(Out))
}
}

但是当我执行代码时,我收到了这条消息

systeminfo | findstr /B /C:"OS Name"
Err: exit status 1

命令正确。当我尝试单独执行命令时,它工作正常。帮我解决这个问题提前致谢。

最佳答案

你的命令是对的。您的命令是 shell 代码,只能由 shell(此处为 cmd.exe)执行。如果您真的想像这样获取操作系统名称:执行 cmd.exe 并将您的命令作为参数。您可能会考虑在 Go 中执行 systeminfo.exe 并解析输出(而不是 shell)。

关于go - golang执行命令出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36124855/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com