zoukankan      html  css  js  c++  java
  • go cmd 交互 初始化执行某些命令

    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补全等功能无法使用,打开的算是一个中间层吧,后续随缘。

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

  • 相关阅读:
    open jdk
    llvm 编译
    llvm Array Bounds Check Elimination
    tmux 共享窗口大小
    llvm pass
    llvm code call graph
    llvm -O 经历过那些pass
    tcmalloc asan
    web ide
    eclipse配置
  • 原文地址:https://www.cnblogs.com/ligaofeng/p/13658075.html
Copyright © 2011-2022 走看看