Dateien umbenennen

A

Apfel-Fee

Neues Mitglied
Thread Starter
Dabei seit
03.03.2005
Beiträge
6
Reaktionspunkte
0
Hey,
ich habe ein Problem und zwar wollte ich mit AppleScript Folgendes automatisieren:

Wenn Dateinen in einen bestimmten Ordner geschoben werden, wird der Anwender gefragt, wo die Dateien hingeschoben werden sollen. Aus dem Namen des Zielordners und einer fortlaufenden Nummer, wird ein neuer Name generiert und die Dateien werden nacheinander umbenannt.

Das hat soweit ganz gut geklappt. Aber für den Fall, dass nun in den gleichen Ordner nachträglich noch mehr Dateien verschoben werden sollen, wollte ich AppleScript dazu bringen nachzusehen, ob schon etwas in dem Zielordner ist und wenn ja, die neuen Dateien fortlaufend dazu umbenennt.
Ich poste hier noch den Teil meines Scripts mit dieser UmbenennungsSchleife, denn irgendwie ist ein Bug drin.

-- Erstellung des Dateinamen ohne Bildnummer
set basic_name to ep_number & "_" & sz_number & "_" & ein_number
-- Erstellen einer Liste alles Dateien im Zielordner
set pic_List to list folder (target_folder_bild as alias) without invisibles

-- Zählen der Dateien in der Liste des Zielordners
set ANZAHL to the (count of pic_List) as number

-- Anfangszahl für Durchnummerierung festlegen
set anfangs_Zahl to ANZAHL + 1

-- Erstellen einer Liste aller Dateien im temp-Ordner
set temp_List to list folder (temp_folder as alias) without invisibles

-- Zählen der Dateien in der Liste des Temp-Ordners
set temp_ANZAHL to the (count of temp_List) as number

-- Aufruf der Rename-Funktion
rename_files(ANZAHL, anfangs_Zahl, temp_ANZAHL, basic_name, target_folder_bild, temp_folder)


on rename_files(ANZAHL, anfangs_Zahl, temp_ANZAHL, basic_name, target_folder_bild, temp_folder)
tell application "Finder"
repeat with counter from anfangs_Zahl to (anfangs_Zahl + temp_ANZAHL - 1)
if counter < "10" then
set new_name to basic_name & "_00" & counter & ".jpg"
else if counter < "100" then
set new_name to basic_name & "_0" & counter & ".jpg"
else if counter < "1000" then
set new_name to basic_name & "_" & counter & ".jpg"

-- Ausgeben einer Fehlermeldung bei mehr als 999 Dateien
else
display dialog "ERROR!
Bei der Benamung ist ein schwerer Ausnahmefehler aufgetreten. Dieses Programm kann nicht mit Zahlen über 999 dealen." buttons {"Scheiße!"} default button 1
end if
try

-- Ersetzen des ursprünglichen Dateinamen durch neuen Dateinamen
set name of item (counter - anfangs_Zahl + 1) in folder temp_folder to new_name
on error errorMsg
display dialog errorMsg
end try
end repeat
end tell
end rename_files
Code:
Ich wäre dankbar, wenn mir jemand sagen könnte, was daran falsch ist oder wenn mir jemand ein neues Script für diese Funktion schreiben könnte.  Das Problem bei dem obenstehenden Script ist, dass es nur beim ersten Mal fehlerfrei arbeitet. Läßt man die umbenannten Dateien in dem Ordner und versucht sie nochmal umzubenennen, benennt er nur jede zweite Datei mit jeder zweiten Ziffer.

Vielen, vielen Dank.
Eure Apfel-Fee.
 
Ohne es gelesen zu haben, weil für mich nicht nachvollziehbar:

Es gibt Renamer4Mac, damit benenne ich Dateien um.

PS: Räder sind auch schon erfunden.. ;)
 
Danke für diese inspirierende Antwort!

Das hat sich aber gerade erledigt. Es lag daran, dass die erste Datei im Ordner korrekt umbenannt wurde und danach der Inhalt des Ordners nach Namen neu sortiert wurde und damit die Reihenfolge gestört wurde.

Problem gelöst. Vielen Dank!
 
Zurück
Oben Unten