使用Windows批处理脚本从文件中获取价值


0

使用Windows批处理脚本,我想从写入日志文件的ffmpeg输出中获取max_volume值(-2.9在下面的示例中):

[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

一旦我知道了这个值,我打算在一些计算中使用它。

非常感谢提前。

Mapg

Answers:


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

echo %max_volume%

它不区分大小写地搜索文件,确定行,然后token默认情况下获取由空格分隔的第5个元素()(缺少delims选项)将值保存在max_volume变量中


+1,但是您忘记将百分比加倍以用于批处理脚本。
dbenham 2014年

哈哈,我想到这一点,但觉得它变得丑陋重复它在PS我的帖子的每 一次我回答有关使用该批次for循环。除了问题没有明确关于通过脚本文件执行批处理指令,是的,我认为帖子上的某种签名可以实现它通知提问者关于共同特征,最佳实践等:-)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.