【发布时间】:2010-02-11 03:10:26
【问题描述】:
(上下文:我正在尝试从 Perl CGI 脚本监视一个长时间运行的进程。它备份一个 MSSQL 数据库,然后对其进行 7-zip 压缩。到目前为止,备份部分(使用WITH STATS=1)输出到一个文件,我可以让浏览器查看它,每隔几秒刷新一次,它可以工作。)
我正在尝试使用 7zip 的命令行实用程序,但将进度条捕获到文件中。不幸的是,与 SQL 备份不同的是,每次完成另一个百分比时,它都会输出另一行,7zip 在输出新的进度数据之前会回退其输出,因此如果您只是正常使用它,它看起来会更好命令行。这是不幸的原因是使用>、1> 和2> 的正常重定向只会创建一个空白文件,并且其中不会出现任何输出,除了>,它在作业完成之前没有输出完成,这对于进度条不是很有用。
我怎样才能捕获这种输出,或者通过使用命令行技巧(没有 Perl)以某种方式将 % 中的每个更改附加到日志文件(这样我就可以使用我现有的日志文件监控方法),或者通过调用system()后使用一些Perl代码直接捕获?
【问题讨论】:
-
我不太确定 7za.exe 使用哪种方法来执行此操作。
标签: perl command-line winapi capture