Заменить имя файла заголовком в нескольких аудиофайлах

Я хочу, чтобы CLI или GUI-решение заменило имя файла для каждого файла заголовком этого файла.

У меня есть несколько радиоподкастов с именами файлов, которые неправильно отображают контент. Это видно в медиаплеере под заголовком Title, но у меня проблемы с просмотром файлов в менеджерах файлов , поэтому я хочу заменить имена файлов заголовками.

Я ищу собственный инструмент для Linux , хотя знаю, как это сделать в Wine с такими программами, как Foobar2000.

Редактировать после комментария : это mp3-файлы. Я вижу данные заголовка, отображаемые в информационной панели диспетчера файлов Dolphin.

    2 Solutions collect form web for “Заменить имя файла заголовком в нескольких аудиофайлах”

    Если вы ищете собственный инструмент, есть доступная в командной строке mp3rename с некоторыми дистрибутивами и gui pyrenamer .

    Для первого сначала создайте формат «title» ( &t ) с

     mp3rename -s '&t' 

    то вы можете переименовать свои файлы, просто mp3rename на них mp3rename просто mp3rename ему список имен файлов. Например, если вы находитесь в директории с mp3-файлами, вы вводите mp3rename *.mp3 . Или вы можете рекурсивно искать файлы с именем *.mp3 из некоторого стартового каталога ABC, например

     find ABC -name '*.mp3' -exec mp3rename {} \; 

    Возможно, вам захочется работать с копией ваших файлов, чтобы у вас не было сюрпризов!

    Для gui pyrenamer в более поздних версиях есть вкладка « Music которой вы «переименовываете музыку, используя свои метаданные». Поместите строку {title}.mp3 в это поле, выберите файлы для работы и нажмите « Preview чтобы узнать, как будут выглядеть имена.

    введите описание изображения здесь

    Как насчет Perl? Это родной для Linux. Моя тестовая установка выглядит следующим образом … mp3.pl скрипт находится в том же каталоге, что и music каталог, в котором содержатся песни, над которыми мы будем работать. Я передаю это как аргумент командной строки. Код перебирается по этому каталогу, извлекая все mp3-файлы. Затем он перебирает список треков и по одному переименовывает их в заголовок трека:

    Во-первых, посмотрите, какие у нас есть треки:

     $ ls music track1.mp3 track2.mp3 

    Код:

     use warnings; use strict; use File::Copy; use File::Find::Rule; use MP3::Tag; if (! @ARGV){ print "usage: perl mp3.pl <directory>\n"; exit; } my $dir = $ARGV[0]; my @files = File::Find::Rule->file() ->name('*.mp3') ->in($dir); for my $track (@files){ my $mp3 = MP3::Tag->new($track); my $title = $mp3->title; $title .= '.mp3'; move $track, "$dir/$title" or die $!; } 

    Запустить его:

     perl mp3.pl music 

    Каталог «music» после изменения:

     $ ls music/ Almost Famous.mp3 No Love (feat Lil Wayne).mp3 
    Linux и Unix - лучшая ОС в мире.