首页 > 其他 > 详细

go cmd 交互 初始化执行某些命令

时间:2020-09-12 22:43:53      阅读:89      评论:0      收藏:0      [点我收藏+]
package main

import (
	"fmt"
	"github.com/axgle/mahonia"
	"os"
	"os/exec"
	"syscall"
)

func main() {
	err:=os.Chdir("D:\\Desktop")
	if err != nil {
		panic(err)
	}
	cmd := exec.Command("cmd", "/K", "set all_proxy=socks5://127.0.0.1:1080")
	cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true}
	cmd.Stdin = os.Stdin
	stdoutPipe, err := cmd.StdoutPipe()
	if err != nil {
		panic(err)
	}

	err = cmd.Start()
	if err != nil {
		panic(err)
	}

	decoder := mahonia.NewDecoder("gbk").NewReader(stdoutPipe)
	buf:=make([]byte, 1024)
	for{
		n,err:=decoder.Read(buf)
		if err != nil {
			panic(err)
		}
		fmt.Printf("%s", buf[:n])
	}
}

  编译出的exe实现了每次打开设置代理,工作目录切换至桌面,cls,tab补全等功能无法使用,打开的算是一个中间层吧,后续随缘。

  标题不知道起啥,就当备份代码吧

go cmd 交互 初始化执行某些命令

原文:https://www.cnblogs.com/ligaofeng/p/13658075.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!