Tengo muchas pistas en iTunes donde los archivos se denominan "music-NNNN.mp3" y NNNN es el año en que se grabó la pista. ¿Cómo puedo usar Applescript para establecer automáticamente la etiqueta del año para estos archivos basados en NNNN?
Tengo muchas pistas en iTunes donde los archivos se denominan "music-NNNN.mp3" y NNNN es el año en que se grabó la pista. ¿Cómo puedo usar Applescript para establecer automáticamente la etiqueta del año para estos archivos basados en NNNN?
Creé un AppleScript para ti que analizará los nombres de los archivos de las pistas de iTunes seleccionadas y establecerá la etiqueta del año en consecuencia.
Pegue esto en Editor de AppleScript y ejecútelo (o guárdelo como una aplicación):
tell application "iTunes"
repeat with theTrack in selection
set theFile to location of theTrack
tell application "Finder" to set theName to name of theFile
set theYear to my parse_year(theName)
if theYear is not "" then
set the year of theTrack to theYear
end if
end repeat
end tell
on parse_year(filenameText)
-- returns the year if it exists in filename with form song-1965.mp3, else returns empty string
try
set yearResult to do shell script "echo " & quoted form of filenameText & " | perl -ne 'print $1 if s/(?<=-)(\d+)(?=(\..*|$))/$1/'"
on error
set yearResult to ""
end try
return yearResult
end parse_year
Algunas notas:
Solo hace coincidir los nombres de archivo con ese final con un -
seguido de un número (y opcionalmente una extensión).
Coincidirá con estos:
songname-1946.mp3
anothersong-1977
songname-1965.someextention
Pero no estas:
songnoyear.mp3
song123
song-1232-someothertext
set text item delimiters to {"-", "."}
tell application "iTunes"
repeat with t in selection
set year of t to text item -2 of (location of t as text)
end repeat
end tell
A diferencia de muchos otros línea de comando utilidades para cambiar las etiquetas ID3 , mid3v2 admite tanto Unicode como ID3v2.
sudo easy_install pip
sudo pip install mutagen
for f in */*.mp3; do y=${f%##*/}; y=${y%.mp3}; /usr/local/bin/mid3v2 -y ${y#*-} "$f"; done
También puede usar TriTag para cambiar las etiquetas según los nombres de los archivos o viceversa.
Lea otras preguntas en las etiquetas applescript script id3-tag mp3