
Estou usando aria2
para realizar downloads básicos.Na documentaçãoespecifica o console readout
formato a ser:
[#2089b0 400,0KiB/33,2MiB(1%) CN:1 DL:115,7KiB ETA:4m51s]
Este formato é bastante legível, mas como será usado pelos usuários finais, seria mais fácil:
400,0KiB/33,2MiB (1%) ETA:4m51s
Como estou usando isso em um arquivo em lote, pensei em usar um for /f
loop para extrair os dados e depois analisá-los. Até onde eu sei, você só pode usar dados estáticos em um for /f
loop, ou seja. não suporta formatação emtempo realsaída de um comando.
EUnão consigo parecerpara encontrar qualquer documentação sobre como alterar o formato usando opções de linha de comando, masexistem opções de linha de comando para alterar o formato da leitura do console?ou eu teria que criar uma versão modificada aria2
e recompilar?
Responder1
Receio que você não possa alterar o formato da leitura do console no aria2, não há opções para controlá-lo.
Se você canalizar a saída de aria2c
, ela suprimirá a leitura e também o log. Portanto, a melhor opção é provavelmente suprimir a leitura do console com--show-console-readout
opção definida como false
.
Para reduzir o número de mensagens impressas, você também pode diminuir o nível de log do console com--console-log-level
.
Para controlar com que frequência o aria2 imprime o resumo do download atual, use--summary-interval
opção.
Seu comando pode ser assim:
aria2c --show-console-readout=false --console-log-level=warn --summary-interval=5 <url>
A cada 5 segundos o aria2 imprimirá as estatísticas de download. Para filtrar outra saída, você pode usar find "ETA:"
e analisá-la comfor /f
.