找回密码
 加入
搜索
查看: 2931|回复: 4

这种情况下如何用进度条显示进度

[复制链接]
发表于 2008-6-20 08:44:05 | 显示全部楼层 |阅读模式
给一个命令行的命令编写一个图形外壳
比如XP自带的压缩程序makecab.exe

压缩单个文件时,想用进度条显示其压缩进度,进度条数值如何控制?

同理,如果复制一个大文件,想用进度条显示复制进度,怎么办呢?

[ 本帖最后由 leewger 于 2008-7-9 10:47 编辑 ]
发表于 2008-6-20 18:33:11 | 显示全部楼层
@压缩
一般来说,压缩程序都会在命令行界面输出进度,你用StdoutRead 读出来就行了。如果没输出进度,那就换个程序吧。

@复制
有两种方法,一个是在命令行下执行复制命令,然后计算已复制的文件大小和实际文件大小的比值;另一个是利用多进程,另开一个程序执行复制操作,其余同上。
 楼主| 发表于 2008-6-20 20:06:34 | 显示全部楼层
StdoutRead 是什么函数,帮助中怎么没有?
发表于 2008-6-20 20:33:51 | 显示全部楼层
StdoutRead 是什么函数,帮助中怎么没有?

可能Autoit更换函数名了?我已经N久没更新Autoit了。
你仔细找找,Autoit里有一个可以读取命令行窗口内容的函数。
发表于 2015-7-21 20:46:00 | 显示全部楼层
StdoutRead
读取运行的子进程 STDOUT 流.


StdoutRead ( 进程ID [, 取数 = false[, 二进制]] )


参 数
进程 ID 子进程 ID, 由先前调用的 Run 返回.
取数 [可选] 如为 true, 函数不删除从流中读取字符.
二进制 [可选] 如为 true, 函数读取二进制数据, 而非文本(默认为文本).

返 回 值
成功: 返回读取的数据. @extended 包含读取的字节数.
失败: @error 被设置为非 0, 到达 EOF(文件尾), STDOUT 不再为进程或其它错误重定向.
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-28 18:24 , Processed in 0.093031 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表