Exiftool очень хорош в отношении переименования файлов на основе их метаданных. Пока метаданные были правильно заполнены, ваша команда будет выглядеть примерно так:
exiftool "-Filename<[$Artist] - [$Title].%le" -api "Filter=$_=lc" DIR
Замените DIR на каталоги (один или несколько), которые вы хотите обработать. Добавь -r
рекурс в подкаталоги. Если эта команда выполняется под Unix / Mac, поменяйте местами двойные / одинарные кавычки, чтобы избежать интерпретации bash.
Чтобы убедиться в том, что эта команда делает то, что вы хотите заменить Filename
с, Testname
чтобы увидеть результаты без фактического переименования файлов.
Разбивка:
-Filename<
указывает, что имя файла будет изменено. Знак «меньше» означает, что значение нового имени файла будет скопировано из внутренних тегов файла.
[$Artist] - [$Title]
Формат имени файла, используя Artist
и Title
тег. По моим тестам это может быть либо ID3v1, либо ID3v2_3, а возможно и другие.
.%le
- %e
сама по себе является специальной переменной exiftool для расширения файла. Размещение l
перед e
силами это должно быть в нижнем регистре.
-api "Filter=$_=lc"
- Это фильтрует все выводимые теги по выражению perl после Filter=
. В этом случае это будут строчные буквы Artist
и Title
теги.