我正在使用它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
。