这种情况下如何用进度条显示进度
给一个命令行的命令编写一个图形外壳比如XP自带的压缩程序makecab.exe
压缩单个文件时,想用进度条显示其压缩进度,进度条数值如何控制?
同理,如果复制一个大文件,想用进度条显示复制进度,怎么办呢?
[ 本帖最后由 leewger 于 2008-7-9 10:47 编辑 ] @压缩
一般来说,压缩程序都会在命令行界面输出进度,你用StdoutRead 读出来就行了。如果没输出进度,那就换个程序吧。
@复制
有两种方法,一个是在命令行下执行复制命令,然后计算已复制的文件大小和实际文件大小的比值;另一个是利用多进程,另开一个程序执行复制操作,其余同上。 StdoutRead 是什么函数,帮助中怎么没有? StdoutRead 是什么函数,帮助中怎么没有?
可能Autoit更换函数名了?我已经N久没更新Autoit了。
你仔细找找,Autoit里有一个可以读取命令行窗口内容的函数。 StdoutRead
读取运行的子进程 STDOUT 流.
StdoutRead ( 进程ID [, 取数 = false[, 二进制]] )
参 数
进程 ID 子进程 ID, 由先前调用的 Run 返回.
取数 [可选] 如为 true, 函数不删除从流中读取字符.
二进制 [可选] 如为 true, 函数读取二进制数据, 而非文本(默认为文本).
返 回 值
成功: 返回读取的数据. @extended 包含读取的字节数.
失败: @error 被设置为非 0, 到达 EOF(文件尾), STDOUT 不再为进程或其它错误重定向.
页:
[1]