Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Рекурсивная склейка mp3 (http://forum.oszone.net/showthread.php?t=349455)

mstifler 23-08-2021 09:42 2964854

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

задание:

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

Спасибо!

DJ Mogarych 23-08-2021 11:18 2964857

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 2964862

работает, спасибо!

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

DJ Mogarych 23-08-2021 12:57 2964866

Код:

& ffmpeg -i "concat:$($files.name -join '|')" -metadata title="$($files[0].Directory.name)" -c copy "..\$($files[0].Directory.name).mp3" -y


Время: 13:40.

Время: 13:40.
© OSzone.net 2001-