On 2022-02-06 20:25, CMG DiGiTaL wrote:
Hi,
I'm creating a bat file that will access a folder with several mp3 files. I
would like to be able to select in this folder only the mp3s with a sample
rate of 48000 khz and copy them to another folder where I will change from
48000 khz to 44100 khz. What command can I use to select only 48000kHz mp3
from original folder to destination folder?  I will use ffmpeg in a batch
file.

thanks
clamarc

Clamarc and I have been corresponding off-list...

I learned something:
If you include SETLOCAL ENABLEDELAYEDEXPANSION ENABLEEXTENSIONS, then the exclamation point becomes poison. That's why the command script (aka batch program) failed if the MP3 had an exclamation point in its name.

You should be able to modify the simplified script below to suit your needs.

@ECHO OFF
CHCP 65001
SETLOCAL ENABLEEXTENSIONS
FOR %%a IN (*.mp3) DO (
FOR /F "tokens=1,* usebackq" %%b IN (`ffprobe -report -show_error -i "%%a" -v error -show_entries stream^=sample_rate -of default^=noprint_wrappers^=1:nokey^=1`) DO (
  ffmpeg -report -i "%%a" -map 0:0 -acodec mp3 -b:a 320k -ar:a 44100 
"%%~na(was_%%b)%%~xa")
  )
)
GOTO :EOF


Note: For 'Cuidado!.mp3', "%%~na(was_%%b)%%~xa" adds "(was_48000)" to the name 
of the new MP3.
'Cuidado!.mp3' is 48000 samples/second
'Cuidado!(was_48000).mp3' is 44100 samples/second.
If you create the new MP3 in another (target) directory, you won't need 
"%%~na(was_%%b)%%~xa".

Regards,
Mark Filipak.

_______________________________________________
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to