Suchen / SearchNavigation |
Dateiendungen setzen15 Jul 2011 - 11:06 Immer mal wieder kommt folgende Anfrage vorbei: »Ich hab viele alte RagTime-Dateien, die nicht das richtige Icon im Finder zeigen und bei Doppelklick nicht geöffnet werden.« Meist ist bei diesen alten Dateien die fehlende Endung ».rtd« schuld. Ich hab ein kleines AppleScript bei mir auf dem Rechner, dass eine Ordnerhierarchie durchläuft und versucht, korrekte Dateiendungen zu setzen. Dafür schaut es sich den Anfang der Datei an. Viele Dateien haben einen eindeutigen Anfang, er kann deshalb für die Bestimmung des Dateityps verwendet werden. Das Script versucht, folgende Dateien zu erkennen und die Endung entsprechend zu setzen:
Das Script öffnet einen Dialog zur Ordner-Auswahl und durchläuft dann alle Dokumentdateien in diesem und darunter liegenden Ordnern. Für jede Datei, die das Script erkennt, wird die Endung gesetzt. Das Verfahren ist nicht 100% sicher, vor allem wegen der beschränkten Art, in der AppleScript Dateien lesen kann (kein Konzept für binäre Dateien). Die Übersetzungsliste steht am Anfang im Script als Properties. Man kann wegwerfen, was einem zu unsicher oder als unwichtig erscheint, oder auch andere »magic byte«-Folgen ergänzen. Einige findet man zum Beispiel auf der Seite File magic numbers von Richard Ogley. Es gibt mehr im Web. Damit man das Script einigermaßen gut modifizieren kann, hab ich die Teilprobleme in drei Handler zerlegt:
Das Script liegt im Anhang. Wegen nicht druckbarer Sonderzeichen (beim Motorola TIFF) hab ich den Code hier nicht als HTML wiedergegeben. Ein zweites Script-Programm beschränkt sich auf RagTime-Dateien (Version 4 und neuer). Es dürfte etwas schneller sein und die Erkennung von RagTime-Dateien ist extrem sicher. Es enthält noch eine Zusatzbedingung und ändert die Endung nicht, wenn sie .rtd oder .rtt lautet (RagTime-Formulare). Allerdings können beide Scripts bei einer Datei ohne Endung leider nicht erkennen, ob das Dokument ein RagTime-Formularblock ist oder nicht. Es wird deshalb immer .rtd gesetzt.
|
RagTime-LinksRagTime-Experts |