Войти

Показать полную графическую версию : Рекурсивная склейка mp3


mstifler
23-08-2021, 09:42
Здравствуйте, уважаемые! Нужна Ваша помощь. Дана папка, в которой вложены некоторые папки и mp3 файлы.
f > f1 > f2 (структура для примера, вложенность может быть разная).

задание:

1. рекурсивно обойти папку (f) и вложенные в нее папки любого уровня
2. если в папке (f2) нет других папок, то нужно склеить mp3 файлы из нее, имя файла mp3 должно быть таким же, как и имя папки (f2) и находится этот результирующий mp3 должен на каталог выше, т.е. в папке (f1)
3. удалить папку (f2)

Спасибо!

DJ Mogarych
23-08-2021, 11:18
Powershell:

dir "D:\temp" -Recurse -Directory |% {
if ($_.GetDirectories().count -eq 0 -and (dir "$($_.fullname)" -filter "*.mp3" -OutVariable files)) {
cd "$($_.fullname)"
& ffmpeg -i "concat:$($files.name -join '|')" -c copy "..\$($files[0].Directory.name).mp3" -y
cd ..
del "$($_.fullname)" -Recurse -Force
}
}

mstifler
23-08-2021, 12:26
работает, спасибо!

а как можно этому файлу в тэг tittle вписать имя файла без расширения
вот команда ffmpeg -i inputfile -metadata title="Movie Title" outputfile

DJ Mogarych
23-08-2021, 12:57
& ffmpeg -i "concat:$($files.name -join '|')" -metadata title="$($files[0].Directory.name)" -c copy "..\$($files[0].Directory.name).mp3" -y




© OSzone.net 2001-2012