广告
返回顶部
首页 > 资讯 > 后端开发 > GO >Golang执行cmd命令行的方法
  • 346
分享到

Golang执行cmd命令行的方法

2024-04-02 19:04:59 346人浏览 安东尼
摘要

1. golang执行系统命令使用 os/exec Command方法: func Command(name string, arg ...string) *Cmd 第一个参数是命

1. golang执行系统命令使用 os/exec Command方法:

func Command(name string, arg ...string) *Cmd

第一个参数是命令名称,后面参数可以有多个命令参数。

cmd := exec.Command("ls", "-a")
if stdout, err := cmd.StdoutPipe(); err != nil {     //获取输出对象,可以从该对象中读取输出结果

    log.Fatal(err)

}

defer stdout.Close()   // 保证关闭输出流
if err := cmd.Start(); err != nil {   // 运行命令

    log.Fatal(err)

}

if opBytes, err := ioutil.ReadAll(stdout); err != nil {  // 读取输出结果    

    log.Fatal(err)

} else {
    log.Println(string(opBytes))

}

2.  将命令的输出结果重定向到文件中: 

stdout, err := os.OpenFile("stdout.log", os.O_CREATE|os.O_WRONLY, 0600)   
    if err != nil {
        log.Fatalln(err)

    }

    defer stdout.Close()
    cmd.Stdout = stdout   // 重定向标准输出到文件

    // 执行命令

    if err := cmd.Start(); err != nil {
        log.Println(err)

    }

3. cmd的Start和Run方法的区别: 

Start执行不会等待命令完成,Run会阻塞等待命令完成。

cmd := exec.Command("sleep", "10")
err := cmd.Run()  //执行到此处时会阻塞等待10秒
err := cmd.Start()   //如果用start则直接向后运行
if err != nil {
    log.Fatal(err)

}
err = cmd.Wait()   //执行Start会在此处等待10秒

4. 如果命令名称和参数写成一个字符串传给Command方法,可能会执行失败报错:file does not exist,但此时如果按以下方式强行启动一个DOS窗口(windows平台)进行执行,也是成功的。

在Windows平台,强行弹出DOS窗口执行命令行: 

cmdLine := pscp -pw pwd local_filename user@host:/home/workspace   
cmd := exec.Command("cmd.exe", "/c", "start " + cmdLine)
err := cmd.Run()
fmt.Printf("%s, error:%v \n", cmdLine, err)

5. 运行时隐藏Golang程序自己的cmd窗口:

go build -ldflags -H=windowsgui 

6. Windows平台上,执行系统命令隐藏cmd窗口:

cmd := exec.Command("sth")
if runtime.GOOS == "windows" {
    cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true}
}
err := cmd.Run()

到此这篇关于Golang执行cmd命令行的方法的文章就介绍到这了,更多相关Golang执行cmd命令行内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

您可能感兴趣的文档:

--结束END--

本文标题: Golang执行cmd命令行的方法

本文链接: https://www.lsjlt.com/news/121020.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Golang执行cmd命令行的方法
    1. Golang执行系统命令使用 os/exec Command方法: func Command(name string, arg ...string) *Cmd 第一个参数是命...
    99+
    2022-11-11
  • python执行cmd命令
    最典型的模块 一,执行cmd并读取返回值 import subprocess p = subprocess.Popen("ls", stdout=subprocess.PIPE, universal_newl...
    99+
    2023-01-31
    命令 python cmd
  • python下执行cmd命令
    使用os import os result = os.popen("ipconfig") print (result.read()) 这种方式有返回值,因而使用起来较为方便 ...
    99+
    2023-01-31
    命令 python cmd
  • C# 调用命令行执行Cmd命令的操作
    1、不知道为啥 process.StartInfo.Arguments = "/c" + "start D:/Tim/Bin/QQScLauncher.exe"; 这个执行命...
    99+
    2022-11-12
  • Java 执行CMD命令或执行BAT批处理方式
    Java 执行CMD命令或执行BAT批处理 背景 日常开发中总能遇到一些奇怪的需求,例如使用java执行cmd命令或者bat批处理文件,今天就简单记录一下使用过程。 使用 废话不多说...
    99+
    2022-11-12
  • JAVAscript如何执行cmd命令
    这篇文章主要介绍JAVAscript如何执行cmd命令,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! JAVAscript执行cmd命令的方法:首先打开相...
    99+
    2022-10-19
  • Java如何执行cmd命令
    目录Java执行cmd命令Java执行cmd命令总结解释一下参数 总结Java执行cmd命令 //当前绝对路径 System.out.println(IoUtil.read...
    99+
    2023-01-09
    Java执行cmd命令 Java执行cmd Java cmd命令
  • python怎么执行cmd命令
    在 Python 中执行 cmd 命令,可以使用 `os` 模块中的 `system()` 或 `popen()` 方法。下面是使用...
    99+
    2023-09-22
    python
  • golang执行命令行的实现
    一般情况下,在 golang 中执行一些命令如 git clone,则可以使用 exec.Command 函数 func RunCommand(path, name string, ...
    99+
    2022-11-11
  • node怎么执行cmd或shell命令
    这篇文章主要介绍“node怎么执行cmd或shell命令”,在日常操作中,相信很多人在node怎么执行cmd或shell命令问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”node怎么执行cmd或shell命令...
    99+
    2023-07-02
  • python代码调出cmd命令行窗口并在cmd窗口中执行指定的命令
    有时候,我们需要在python代码中打开 cmd命令行窗口,并在新打开的命令行cmd窗口中执行特定的命令, 其实,这个操作很容易,不过在网上找了一圈,都是没有说明白, 这里总结发布一下, 导入 os...
    99+
    2023-09-21
    windows
  • python执行shell命令的方法
    os模块os.system方式:import os os.system('top') os.system('cat /proc/cpuinfo')说明这个调用相当直接,且是同步进行的,程序需要阻塞并等待返回。返回值是依赖于系统的,直接返回系...
    99+
    2023-01-31
    命令 方法 python
  • python运行cmd命令行的3种方法总结
    目录1.执行cmd命令,不显示执行过程中弹出的黑框2.执行cmd命令,并得到执行后的返回值,python调试界面输出返回值3.执行cmd命令,并得到执行后的返回值,python调试界...
    99+
    2022-11-11
  • cmd命令行窗口操作SqlServer2012的方法
    注意在进行以下操作之前要安装好SqlServer2012。1、打开cmd命令行窗口,输入sql -s 服务名。即可直接打开数据库服务器(未设密码),注意这是登录本地的数据库服务器,显示 1>...
    99+
    2022-10-18
  • java如何连续执行多条cmd命令
    java连续执行多条cmd命令 命令之间用&连接 例如: Process p = Runtime.getRuntime().exec("cmd /c d: & c...
    99+
    2022-11-12
  • node执行cmd或shell命令使用介绍
    目录引言一、node原生模块:child_process使用二、npm包:shelljs引言 在实现前端工程化的过程中,经常需要在一个js脚本中去执行其他node/npm或者其他sh...
    99+
    2022-11-13
  • 一文看懂python如何执行cmd命令
      概要   “ 在进行Python编程时,经常需要使用到操作系统的命令行,这就要求我们学会如何使用Python执行cmd命令。”   Python执行cmd命令的几种方法   Python是一种强大而灵活的编程语言,它可以很方便地执行...
    99+
    2023-09-03
    python 开发语言
  • python执行系统命令的方法
        做为系统工程师来说,经常会用到python脚本去调用一下系统命令,现把经常使用的集中调用方法总结如下:一,os.system(command)在一个子shell中运行command命令,并返回command命令执行完毕后的退出状态。...
    99+
    2023-01-31
    命令 方法 系统
  • Python3 执行Linux Bash命令的方法
    和之前C++执行linux Bash命令的方法 一样,python依然支持system调用和popen()函数来执行linux bash命令。 方法一:system调用 #仅仅在一个子终端运行系统命令,而不能获取命令...
    99+
    2022-06-04
    Python3 Linux Bash命令
  • Golang应用执行Shell命令实战
    目录exec包运行基本Shell命令执行长时间运行命令自定义写输出使用Stdin给命令传递输入结束子进程总结本文学习如何在Golang程序中执行Shell命令(如,ls,mkdir或...
    99+
    2023-03-19
    Golang执行Shell命令 Golang执行Shell
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作