blog.sketchit.de Glaubt mir ich hab den Weihnachtsmann mit eigenen Augen gesehen…

6Okt/092

AppleScript: MP3′s automatisch einsortieren

Ich habe nun endlich den Anfang gemacht meine doch schon recht große Sammlung an MP3's zu sortieren (schwierig und langwieriges Unterfangen, fehlende ID3 Tags, keine Alben oder ähnliches...).

Bei der Suche nach einem passenden Programm bin ich schnell darauf gekommen, dass zumindest die von mir gewünschte Grundstruktur kein einziges Programm zufriedenstellend bewerkstelligen kann (Interpret - Interpret/Album - Titel). Darum hab ich mich entschlossen, das Ganze im Finder per Hand zu sortieren. Und da sind wir auch schon bei der Problematik:

Um zumindest einmal grob zu sortieren, wollte ich automatisch alle MP3's eines Interpreters in dessen Ordner schieben. Die Ordner von Hand anzulegen, sehr langwierig. Darum hab ich mich hingesetzt und ein kleines aber feines AppleScript geschrieben.

Das Skript nimmt die gerade im Finder selektierten Dateien, prüft ob ein "-" (Bindestrich) als Trennung zwischen Interpret und Titel vorhanden ist (wenn nicht, kann man einen eigenen definieren) und filtert darauf hin den Interpreten Namen heraus, der wiederrum als Ordnername dient.

tell application "Finder"

set fileList to selection
set currentDir to the folder of item 1 of fileList as text
set targetDirTMP to the name of item 1 of fileList

set endCount to offset of "-" in targetDirTMP

if endCount = 0 then
display dialog "No delemiter found, specify a custom one, or click Cancel." default answer "" with icon 2
set delimiter to text returned of result
if delimiter is "" then error
set endCount to offset of delimiter in targetDirTMP
end if

set checkSpace to characters (endCount - 1) thru (endCount - 1) of targetDirTMP

if " " is in checkSpace then
set removeRight to 2
else
set removeRight to 1
end if

set targetDir to (text items 1 thru (endCount - removeRight) of targetDirTMP) as text

if not (exists folder (currentDir & targetDir)) then
make new folder at currentDir with properties {name:targetDir}
move fileList to (currentDir & targetDir)
else
display dialog "The folder already exists. Would you like to merge the data?" buttons {"Cancel", "Yes"}
if button returned of result = "Yes" then
move fileList to (currentDir & targetDir)
end if
end if

end tell

Zur Installation einfach Code in den AppleScript Editor ziehen, eine APP daraus speichern, und per Drag&Drop in die obere Leiste des Finders ziehen.

Oder ihr ladet euch meine hier runter

Kommentare (2) Trackbacks (3)
  1. Wow hubi gefällt mir sehr gut.

  2. Freut mich, evtl. bringts da ja was, ich nehms wie gesagt zum einsortieren von MP3s her. AppleScript ist zwar nicht das schnellste, aber immerhin schneller als per Hand :-)


Leave a comment

(required)