
我用來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
。