Ressource Fork und Datenfork vereinigen

maceis

maceis

Aktives Mitglied
Thread Starter
Dabei seit
24.09.2003
Beiträge
16.880
Reaktionspunkte
626
hallo zusammen,

ich habe einige Dateien, die als "Doppeldatei", also Datei und ._Datei (file ._Datei AppleDouble encoded Macintosh file) getrennt, vorliegen.

Nun würde mich interessieren, wie ich die beiden wieder "ordnungsgemäß vereinen" kann.
Ich vermute, dass das mit den /Developer/Tools/ mit Rez im Namen geht, werde aber nicht so recht schlau aus den manuals.
Kennt sich da jemand aus und kann mir einen Tip geben?

Mit RezWack kann man die ._Datei wohl in Datei einbauen, erhält aber dann ein "flattened file".
Weiss jemand wo da der Unterschied zur "normalen" Datei mit Ressourcefork liegt?

mit cp kann man auch was machen, aber das scheint auch keine "typische" Datei mit Ressourcefork zu ergeben.

Würde mich über Erklärungen freuen.
Danke im voraus.
 
/System/Library/CoreServices/FixupResourceForks
macht das wohl, gibt aber keine man page dafür.
-help gibt dir mini optionen...

ansonsten probier mal ditto
oder versuch mal die resource fork einfach mit
cp ._file file/..namedfork/rsrc
rein zu kopieren...
 
oneOeight schrieb:
/System/Library/CoreServices/FixupResourceForks
macht das wohl, gibt aber keine man page dafür.
-help gibt dir mini optionen...
...
Danke für den Tip, ich werds versuchen und dann berichten.
Ach ja, unter Tiger gibt es sehr wohl eine (kurze) manpage dafür
oneOeight schrieb:
...
ansonsten probier mal ditto
oder versuch mal die resource fork einfach mit
cp ._file file/..namedfork/rsrc
rein zu kopieren...
Das mit cp hab ich schon probiert. die ._Datei wird zwar reinkopiert, aber ich erhalte nicht wirklich eine "richtige" Appledatei, was u.a. dadurch auffällt, dass eine psd Datei kein Icon mehr hat und per default von Vorschau geöffnet wird.

Mit ditto weiss ich nicht, wie ich vorgehen sollte, um mein Ziel zu erreichen.
 
ICh würde einen einfachen Workaround vorschlagen. Du kopierst die Datei und die ._Datei auf ein DOS-Volume (Image) und dann die Datei zurück auf das HFS-Volume. Dabei müssten die Datei und die ._Datei zu einer DATA/rsrc-Datei vereint werden.


Die ._Datei mit cp in die Resource zu kopieren dürfte deshalb nicht funktionieren, da die ersten 82 Bytes der ._Datei die Metadaten enthalten und erst ab Byte 83 das Abbild des Resourceforks beginnt.
 
Zuletzt bearbeitet von einem Moderator:
Danke für den Tip, das werde ich auf jeden Fall (schon interessehalber) ausprobieren. Ist aber - auch wenns funktioniert - eher unbefriedigend, da es sich um viele Dateien handelt und die ganze Aktion vermutlich öfter mal erforderlich wird.

Die Methode mit /System/Library/CoreServices/FixupResourceForks funktioniert einwandfrei.
Vielen Dank an oneOeight für den Tip.

Es ist allerdings noch ein kleines Problem augetreten, weil die ._Dateien in Wirklichkeit ._Datei.Wc6 ._andereDatei.mi3 etc. heissen.
FixupResourceForks erwartet aber Paare wie Datei und ._Datei

Dummerweise enthalten viele Dateinamen Leerzeichen (*äächz*) und so fummel ich gerade an einem Kommando/Skript, das mir rekursiv die drei letzten Stellen des Namens von den ._Dateien abschneidet.
Irgendwie krieg ich das grad auf die Schnelle mit "find . -exec mv {} `echo {} sed ...`" usw. nicht hin .
Vermutlich seh ich im Augenblick den Wald vor lauter Bäumen nicht mehr ;).
 
Also - für die Nachwelt.
Die von ._ut vorgeschlagene Methode funktioniert auch.
Es gilt aber die selbe Einschränkung wie bei FixupResourceForks.
Der Name der Datei und der Ressource Fork muss bis auf das ._ identisch sein.

Noch kurz ein Wort zu den eigenartigen Dateinamen bei mir; die sind aufgrund eines offensichtlich defekten Archivs entstanden. Ich hab das Archiv dann neu erstellt, und siehe da, die Dateien werden von selbst ordentlich zusammengesetzt.

Danke nochmals für die Unterstützung an ._ut und oneOeight
 
Zurück
Oben Unten