agent/util/utils_windows.go (36 lines of code) (raw):

//go:build windows // +build windows package util import ( "bytes" "os/exec" "github.com/aliyun/aliyun_assist_client/common/executil" "github.com/aliyun/aliyun_assist_client/common/langutil" ) func ExeCmdNoWait(cmd string) (error, int) { var command *exec.Cmd command = executil.Command("cmd", "/c", cmd) err := command.Start() if nil != err { return err, 0 } return nil, command.Process.Pid } func ExeCmd(cmd string) (error, string, string) { var command *exec.Cmd command = executil.Command("cmd", "/c", cmd) var outInfo bytes.Buffer var errInfo bytes.Buffer command.Stdout = &outInfo command.Stderr = &errInfo err := command.Run() var stdout, stderr string if langutil.GetDefaultLang() != 0x409 { tmp, _ := langutil.GbkToUtf8(outInfo.Bytes()) stdout = string(tmp) tmp, _ = langutil.GbkToUtf8(errInfo.Bytes()) stderr = string(tmp) } if nil != err { return err, stdout, stderr } return nil, stdout, stderr }