Go在windows下执行命令行指令
- 作者: 五速梦信息网
- 时间: 2026年04月04日 13:41
需要在Go写的服务里面调用命令行或者批处理,并根据返回的结果做处理。
在网上搜索了一翻,验证成功,现记录如下:
cmd := exec.Command("cmd")
// cmd := exec.Command("powershell")
in := bytes.NewBuffer(nil)
cmd.Stdin = in //绑定输入
var out bytes.Buffer
cmd.Stdout = &out //绑定输出
go func() {
// start stop restart
in.WriteString("nssm restart uplusSVCWB\n") //写入你的命令,可以有多行,"\n"表示回车
}()
err = cmd.Start()
if err != nil {
log.Fatal(err)
}
log.Println(cmd.Args)
err = cmd.Wait()
if err != nil {
log.Printf("Command finished with error: %v", err)
}
rt := out.String() //mahonia.NewDecoder("gbk").ConvertString(out.String()) //
fmt.Println(rt)
if strings.ContainsAny(rt, "成功") {
fmt.Fprintf(w, "{\"msg\":\"%s\"}", "操作成功")
} else {
fmt.Fprintf(w, "{\"msg\":\"%s\"}", rt)
}
windows下面用cmd返回中文会出现乱码,即使是用powershell在命令行模式调用其他程序,也可能出现这个情况。
所以根据实际情况可能需要做一下转码。
- 上一篇: Go之Gorm简介及使用案例
- 下一篇: GO语言之环境搭建和基本命令
相关文章
-
Go之Gorm简介及使用案例
Go之Gorm简介及使用案例
- 互联网
- 2026年04月04日
-
GradientBoost房价预测
GradientBoost房价预测
- 互联网
- 2026年04月04日
-
gradle 依赖无法引入
gradle 依赖无法引入
- 互联网
- 2026年04月04日
-
GO语言之环境搭建和基本命令
GO语言之环境搭建和基本命令
- 互联网
- 2026年04月04日
-
go解析未知结构的json内容
go解析未知结构的json内容
- 互联网
- 2026年04月04日
-
Google Chrome input 设置 line
Google Chrome input 设置 line
- 互联网
- 2026年04月04日








