Форматирование показаний консоли в Aria2
Я использую aria2
выполнять основные загрузки. В документации указывается console readout
формат быть:
[# 2089b0 400,0 КБ /33,2 МБ (1%) CN:1 DL:115,7 КБ ETA:4 м51 с]
Этот формат достаточно читабелен, но, поскольку он будет использоваться конечными пользователями, он будет проще, чем просто:
400,0 КБ /33,2 МБ (1%) ETA: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
,