Obtendo valor do arquivo usando o Windows Batch scripting

0

Usando o script em lotes do Windows, quero obter o valor max_volume ( -2.9 no exemplo a seguir) de uma saída ffmpeg gravada em um arquivo de log:

[Parsed_volumedetect_0 @ 0000000005428b20] n_samples: 13406208

[Parsed_volumedetect_0 @ 0000000005428b20] mean_volume: -20.4 dB

[Parsed_volumedetect_0 @ 0000000005428b20] max_volume: -2.9 dB

[Parsed_volumedetect_0 @ 0000000005428b20] histogram_2db: 7

[Parsed_volumedetect_0 @ 0000000005428b20] histogram_3db: 181

[Parsed_volumedetect_0 @ 0000000005428b20] histogram_4db: 963

[Parsed_volumedetect_0 @ 0000000005428b20] histogram_5db: 2774

[Parsed_volumedetect_0 @ 0000000005428b20] histogram_6db: 6614

[Parsed_volumedetect_0 @ 0000000005428b20] histogram_7db: 14743

Quando eu souber esse valor, pretendo usá-lo em alguns cálculos.

Agradecemos antecipadamente.

Mapg

    
por Mapg 23.11.2014 / 23:59

2 respostas

2
for /f "tokens=5" %a in ('find /i "max_volume" ffmpeg.log') do set max_volume=%a

echo %max_volume%

ele faz uma pesquisa sem distinção entre maiúsculas e minúsculas no arquivo, determina a linha e, em seguida, obtém seu quinto elemento ( token ) delimitado por espaços em branco por padrão (ausente delims option) salvando o valor na variável max_volume

    
por 24.11.2014 / 04:40
0

Você precisará dividir a string.

Verifique este link para ver como fazer isso corretamente: link

    
por 24.11.2014 / 02:56