Automatisches sortieren von Dateien in Ordner mit Hilfer der Dateinamen

goeste

Neues Mitglied
Thread Starter
Mitglied seit
27.04.2008
Beiträge
26
Hallo liebe Scripter,

Ich möchte meine Mediathek ein bischen sortieren und zwar auf folgende Weise:

Serien sollen anhand des Dateinamens in Serienordner und anschliessend in Staffel ordner bewegt werden.

* HD:Users:Username:Filme:Serien:(Name_der_Serie):(Staffel_der_Serie):file.avi

z.B. HD:Users:Username:Filme:Serien:Verliebt in Berin:Season 1:alter.Dateiname.avi

Meine Aufnahmen habe ich folgendermassen benannt:
"Name.der.Serie.S(Staffelnummer)E(Episodennummer).Tag.Monat.Jahr.avi"

z.B. Verliebt.in.Berlin.S01E05.12.Dezember.2008.avi
dabei kann der Name natürlich variieren und von einem Wort bis hin zu 10 Wörtern gehen...

Das Script soll anhand der Datei nun einen Ordner für die Serie (samt Unterordner mit der Staffelnummer) erstellen, sofern nicht vorhanden, und anschliessend die Datei entsprechen ihren Namens dort hinein bewegen.

folgendes habe ich schon unter Hilfe erreicht:
Code:
tell application "Finder"
	set thisFolder to (choose folder) as alias
	set mylist to every file in thisFolder as alias list
	set thisFolder to thisFolder as text
	set tid to AppleScript's text item delimiters
	set AppleScript's text item delimiters to "."
	repeat with eachfile in mylist
		set fileName to name of eachfile
		set thefirst to text item 1 of fileName
		set themid to text item 2 of fileName
		set thelast to text item -2 of fileName
		
		try
			set As_a_number to (text 2 thru 3 of thelast) as number
		on error
			set As_a_number to 0
		end try
		
		if (As_a_number > 0) then
			set mysubfolder to "Season " & text 2 thru 3 of thelast
			
			if themid = thelast then
				set thefoldername to thefirst
			else
				set namecount to count of text items in fileName
				set thefoldername to ""
				repeat with i from 1 to namecount - 2
					set thefoldername to thefoldername & " " & text item i of fileName
				end repeat
			end if
			
			try
				set newfolder to thisFolder & thefoldername as alias
			on error
				set newfolder to make new folder at (thisFolder as alias) with properties {name:thefoldername}
			end try
			
			try
				set thedestination to make new folder at newfolder with properties {name:mysubfolder}
			on error
				set thedestination to ((newfolder as text) & mysubfolder) as alias
			end try
			
			move eachfile to thedestination
			
		end if
	end repeat
	set AppleScript's text item delimiters to ""
end tell
Problem is nur, dass das script nur die Aliase liest und dann nichts weiter macht. Es erstellt keine Ordner und bewegt auch keine Dateien.
Wenn möglich sollte das ganze als Droplet oder Folder-Action funktionieren.

Vielen Dank schonmal an alle die mir weiterhelfen können.

Grüsse aus Madrid,

goeste
 
Oben