递归火山软件开发平台

标题: go的命令执行类,有没有方法让他实时显示进度? [打印本页]

作者: 1325901607    时间: 2024-11-2 01:21
标题: go的命令执行类,有没有方法让他实时显示进度?
现在问题是他那个执行的命令,只有执行完命令才会显示,用了好多方法,取那个输出通道也不行,不知道怎么搞,没搞过这个go
作者: 1325901607    时间: 2024-11-2 02:31
不用执行, 用启动命令怎么获取它的输出数据
作者: 创世魂    时间: 2024-11-2 08:20
<火山程序 类型 = "通常" 版本 = 1 />

方法 "111"
{
    变量 命令 <参考 类型 = 命令执行类>
    命令 = 命令执行类.创建 ()
    变量 输出管道 <参考 类型 = 读写关闭接口>
    输出管道 = 命令.取标准输出管道 ()
    命令.执行 ()
    变量 扫描器 <参考 类型 = 缓冲扫描器类>
    扫描器 = 缓冲扫描器类.创建 (输出管道)
    判断循环 (扫描器.扫描 ())
    {
        扫描器.取扫描结果文本()
    }
    命令.等待 ()


}


你试试这个行不行
作者: 1325901607    时间: 2024-11-2 09:05
扫描器,我试一下
作者: 1325901607    时间: 2024-11-2 09:45
不行啊 我去,什么东西都没有扫描出来,没有扫描出来任何东西
作者: 1325901607    时间: 2024-11-2 09:48
<火山程序 类型 = "通常" 版本 = 1 />  方法 启动方法 <公开 类型 = 整数> {     变量 命令 <参考 类型 = 命令执行类>     变量 扫描器 <参考 类型 = 缓冲扫描器类>     变量 输出管道 <参考 类型 = 读关闭接口>       命令 = 命令执行类.创建 ()     输出管道 = 命令.取标准输出管道 ()     变量 错误 <类型 = 错误接口>     错误 = 命令.执行 ()     如果真 (错误 != 空对象)     {         抛出异常 (错误接口.格式新建 ("启动命令失败: %w", 错误))         返回 (1)     }      扫描器 = 缓冲扫描器类.创建 (输出管道)     判断循环 (扫描器.扫描 ())     {         扫描器.取扫描结果文本 ()     }      命令.等待 ()      返回 (1)  }
作者: 1325901607    时间: 2024-11-2 09:48
本帖最后由 1325901607 于 2024-11-2 09:50 编辑

无论是执行行还是启动命令都试了不行
作者: 创世魂    时间: 2024-11-2 10:16
<火山程序 类型 = "通常" 版本 = 1 />

方法 测试方法
{
    变量 命令 <参考 类型 = 命令执行类>
    命令 = 命令执行类.创建 ("ping", "www.baidu.com")
    变量 输出管道 <参考 类型 = 读关闭接口>
    变量 错误 <类型 = 错误接口 值 = 空对象>
    输出管道 = 命令.取标准输出管道 (错误.取地址 ())
    如果 (错误 != 空对象)
    {
        换行输出 (错误.信息)
    }
    命令.启动 ()
    变量 扫描器 <参考 类型 = 缓冲扫描器类>
    扫描器 = 缓冲扫描器类.创建 (输出管道)
    启动协程 ()
    {
        判断循环 (扫描器.扫描 ())
        {
            换行输出 (GBK到文本 (扫描器.取扫描结果 ().到数组 ()))
        }
    }
    命令.等待 ()


}



刚才写错了,这样就行了。




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4