Wie kann ich den Erstellercode einer Datei auf Vanilla Snow Leooard ändern?

Wenn Xcode installiert ist, können Sie den Ersteller einer Datei am besten ändern SetFile.

Ich habe nur AppleScript gefunden. Obwohl der Typ korrekt eingestellt ist, schlägt die zweite Zeile auf meinem 10.6 leider stillschweigend fehl:

set theFile to choose file
tell application "Finder"
    set file type of theFile to "TEXT"
    set creator type of theFile to "iDAT"
end tell

Wie kann ich den Erstellercode einer Datei auf einem Vanilla-System (gerade installiert) ändern, selbst wenn Xcode nicht installiert ist?

Wie stellen Sie fest, dass es fehlgeschlagen ist? Wenn ich das Skript für eine beliebige Datei ausführe und anschließend GetFileInfo -c ausführe, wird "iDAT" gemeldet.
Ich bekomme den Ersteller, den es zuvor hatte, normalerweise "\0\0\0\0". Und ich habe es auf zwei Maschinen versucht. Mit einem regulären und einem Admin-Konto. SetFile OTOH funktioniert gut.
Warum nicht einfach SetFile verwenden?

Antworten (2)

Ich habe das folgende Skript für eine Vielzahl von Dateien auf meinem System ausgeführt, auf dem 10.7.4 ausgeführt wird. Ich habe es mit Dateien in meinem Home-Verzeichnis ausgeführt, ich habe es mit Dateien auf einem gemounteten FAT16-Volume ausgeführt.

Ich konnte es nicht dazu bringen, still zu scheitern. Wenn die ausgewählte Datei gesperrt oder schreibgeschützt war, schlug das Skript mit dem Fehler „Finder hat einen Fehler: Der Vorgang kann nicht abgeschlossen werden, da Sie nicht über die erforderliche Berechtigung verfügen“ fehl.

Ansonsten funktionierte das Skript in allen von mir versuchten Fällen: Unabhängig davon, welcher Typ und Ersteller am Anfang angegeben wurden, waren der Typ und Ersteller, der am Ende angegeben wurde, TEXT und iDAT. Als ich das Skript erneut für dieselbe Datei ausführte, meldete es zunächst Typ und Ersteller von TEXT bzw. iDAT.

Mein Rat wäre also ein Upgrade auf Lion; Wenn das Skript in 10.6 fehlschlägt, scheint es sich um einen Fehler zu handeln, der in 10.7 behoben wurde.

set theFile to choose file
tell application "Finder"
    set myAlert to get file type of theFile
    display alert myAlert
    set myAlert to get creator type of theFile
    display alert myAlert
    set file type of theFile to "TEXT"
    set creator type of theFile to "iDAT"
    set myAlert to get file type of theFile
    display alert myAlert
    set myAlert to get creator type of theFile
    display alert myAlert
end tell

Laut Wikipedia wird der Creator Code in Snow Leopard von Mac OS X ignoriert.

Im Wiki von Textmate wird außerdem empfohlen, dieses Feld leer zu lassen.

Stimmt, aber das Feld ist immer noch vorhanden und kann immer noch skriptfähig gemacht werden. Während Finder das Feld ignoriert, könnten Finder-Ersetzungen von Drittanbietern es dennoch verwenden. Das Betriebssystem speichert weiterhin die Metadaten.
Ja, aber vielleicht liegt das Problem am Finder. Da es in Snow Leopard umgeschrieben wurde, haben sie wahrscheinlich beschlossen, es nicht mehr zuzulassen, dieses Feld zu ändern.
Das Skriptwörterbuch listet das Feld nicht als schreibgeschützt auf. Und wie ich oben sagte, als ich den Code auf meinem Computer ausführte (ich versuchte es in SL und Lion), änderte er das Feld. Deshalb bin ich verwirrt.
Ich habe gefragt, wie ich es ändern kann, nicht warum. In diesem Fall ist es alte Software, die sich weigert, Dateien zu öffnen, die sie nicht "erstellt" hat.
Ja, ich habe die Frage falsch gelesen. Ich habe es aktualisiert, damit es wieder auf die Titelseite kommt und hoffentlich jemand weiß, wie man darauf antwortet.