1 Star 0 Fork 0

GodoMiss/code

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
cmdall.go 1.20 KB
一键复制 编辑 原始数据 按行查看 历史
GodoMiss 提交于 2022-02-10 17:15 . 第3次提交
package cmdall
import (
"bytes"
"fmt"
"os/exec"
"runtime"
"syscall"
"github.com/axgle/mahonia"
)
//windows执行复杂命令
func Cmdwindows(cmdstr string) string {
cmd := exec.Command(`cmd`)
cmd.SysProcAttr = &syscall.SysProcAttr{}
cmd.SysProcAttr.CmdLine = `cmd /c` + cmdstr
out, _ := cmd.Output()
str := string(out)
out1 := ConvertToString(str, "GBK", "UTF-8")
return out1
}
//执行普通命令
func CmdAll(cmdstr string) string {
var cmd *exec.Cmd
switch runtime.GOOS {
case "windows":
cmd = exec.Command("cmd", "/c", cmdstr)
case "linux":
cmd = exec.Command("sh", "-c", cmdstr)
}
var out bytes.Buffer
var stderr bytes.Buffer
cmd.Stdout = &out
cmd.Stderr = &stderr
err := cmd.Run()
ccc := ""
if err != nil {
ccc = stderr.String()
} else {
ccc = out.String()
}
out1 := ConvertToString(ccc, "gbk", "utf-8")
return out1
}
func Prin() {
fmt.Println("a ...interface{}")
}
func ConvertToString(src string, srcCode string, tagCode string) string {
srcCoder := mahonia.NewDecoder(srcCode)
srcResult := srcCoder.ConvertString(src)
tagCoder := mahonia.NewDecoder(tagCode)
_, cdata, _ := tagCoder.Translate([]byte(srcResult), true)
result := string(cdata)
return result
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/GodoMiss/code.git
git@gitee.com:GodoMiss/code.git
GodoMiss
code
code
master

搜索帮助

D67c1975 1850385 1daf7b77 1850385