Windows Toplu iş komut dosyası kullanarak dosyadan değer alma


0

Windows Batch komut dosyası kullanarak, bir günlük dosyasına yazılan bir ffmpeg çıktısından max_volume değerini ( -2.9aşağıdaki örnekte) almak istiyorum :

[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

Bu değeri bir kere öğrendiğimde, bazı hesaplamalarda kullanmak niyetindeyim.

Şimdiden çok teşekkürler.

Mapg

Yanıtlar:


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

echo %max_volume%

dosya büyük / küçük harfe duyarsız bir şekilde dosya arar, satırı belirler ve sonra değeri 5 (elemanı token) boşlukla sınırlandırılmış (varsayılan delimsseçenek yok ) max_volumedeğişkende değeri kaydederek alır


+1, ancak toplu komut dosyasında kullanım için yüzdelerini ikiye katlamayı unuttun.
dbenham

haha ben bunu düşünmemiştim ama altında tekrarlamak çirkin gidiyor hissetti ps Yayınlarımda her zaman i toplu kullanımı hakkında cevap fordöngü. Bunun yanı sıra, soru açıkça toplu komutları komut dosyaları aracılığıyla yürütmekle ilgili değildi ve evet, gönderilerdeki bir tür imzanın, ortak özellikler, en iyi uygulamalar vb. hakkında soru

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.