go如何执行cd命令

cash · · 2609 次点击
**func excuteShell(commond string) bool { c := commond var cmd *exec.Cmd if runtime.GOOS != "windows" { cmd = exec.Command("bash", "-c", c) } else { cmd = exec.Command("cmd.exe", "/c", c) } //cmd.Stderr = os.Stderr //cmd.Stdout = os.Stdout if err := cmd.Run(); err != nil { ServerUtils.Log(err) return false } return true }** linux与windows的区别只是调用的command不一样而已
#6
更多评论
方法1: func ExcuteShell(commond string) bool { c := commond var cmd *exec.Cmd cmd = exec.Command("cmd.exe", "/c", c) cmd.Stderr = os.Stderr cmd.Stdout = os.Stdout if err := cmd.Run(); err != nil { return false } return true } 方法2: func stopExecCommand() bool { // 执行的命令cmd和/C是不能少的,命令如遇空格就必须多加一个参数,例如以下 cmd := exec.Command("cmd","/C", "net","stop","Tomcat7","/y") //显示运行的命令 fmt.print(cmd.Args) stdout, err := cmd.StdoutPipe() if err != nil { return false } cmd.Start() reader := bufio.NewReader(stdout) //实时循环读取输出流中的一行内容 for { line, err2 := reader.ReadString('\n') if err2 != nil || io.EOF == err2 { break } } cmd.Wait() return true }
#1
你这个是windows系统的执行方式。我没试过。但是我的代码是在linux上面的是不行的 我看看windows上你的方式可不可以
#2