在 Aria2 中格式化控制台读数

在 Aria2 中格式化控制台读数

我正在使用它aria2来执行基本下载。在文档中它指定的console readout格式为:

[#2089b0 400.0KiB/33.2MiB(1%) CN:1 DL:115.7KiB ETA:4m51s]

这种格式相当易读,但由于它将被最终用户使用,因此更容易如下:

400.0KiB/33.2MiB (1%) 预计到达时间:4 分 51 秒

当我在批处理文件中使用它时,我考虑使用循环for /f来提取数据,然后对其进行解析。据我所知,您只能在循环中使用静态数据for /f,即它不支持格式化即时的命令的输出。

似乎不可能找到有关如何使用命令行选项更改格式的任何文档,但是是否存在命令行选项来改变控制台读数的格式?或者我必须创建修改版本aria2并重新编译?

答案1

恐怕您无法更改 aria2 中控制台读数的格式,因为没有选项可以控制它。

如果你通过管道输出aria2c,它会抑制读出和日志。因此,最好的选择可能是使用--show-console-readout选项设置为false

为了减少打印的消息数量,您还可以使用以下命令降低控制台日志级别--console-log-level

要控制 aria2 打印当前下载摘要的频率,请使用--summary-interval选项。

您的命令可能如下所示:

aria2c --show-console-readout=false --console-log-level=warn --summary-interval=5 <url>

每 5 秒 aria2 将打印一次下载统计信息。要过滤其他输出,您可以使用find "ETA:",然后使用以下方法进行解析for /f

相关内容