ffmpeg -i "inputFile" 2>&1 | for /f "tokens=2 delims=, " %a in ('findstr /r /c:"^ *Duration:"') do echo %a
Execute ffmpeg
no arquivo de entrada, enviando a saída de stderr (onde o ffmpeg grava suas informações por padrão) para a saída padrão. Filtre a lista com findstr
para recuperar as linhas que começam com espaços seguidos por Duration:
. Para cada linha encontrada, espaços e vírgulas são considerados como delimitadores de campo e o segundo token na linha é solicitado, ou seja, o tempo após o rótulo Duration:
. Esse valor é recuperado no parâmetro for
substituível %a
que é ecoado no console.
Para usar o arquivo em lote, escape dos sinais de porcentagem, substituindo %
por %%