_kMDItemUserTags schreiben

Hallo Leute,
kann mir jemand verraten, wie man mit der Shell in _kMDItemUserTags oder kMDItemKeywordseinen Eintrag für Bilder oder Videodateien schreiben kann?
Vielen Dank im voraus
Micha D.

Schau dir mal folderitem SetTagNamesMBS im MBS Plugin an.

hallo Christian
sorry, bei mir funktioniert es leider nicht.
SetTagNamesMBS: 0

ich hatte früher mit
'xattr -w com.apple.metadata:_kMDItemUserTags ‘Hallo Micha’ Bilddatei
immer einen Tag geschrieben und hatte erfolg!

Jetzt geht es nicht mehr???

DU kannst da sicher keinen Klartext reinschreiben.

xattr -l /Users/cs/Desktop/test.rtf

Zeigt mir:

[quote]com.apple.metadata:_kMDItemUserTags:
00000000 62 70 6C 69 73 74 30 30 A1 01 55 48 65 6C 6C 6F |bplist00…UHello|
00000010 08 0A 00 00 00 00 00 00 01 01 00 00 00 00 00 00 |…|
00000020 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |…|
00000030 00 10 |…|
00000032[/quote]

Also binre Plist. Das msste SetTagNamesMBS schreiben. Ansonsten ExtendedAttributesMBS module. Da kannst du mit GetAttribute mal auslesen und mit SetAttribute neu schreiben.

Hallo Christian
ich muss mich bei dir nocheinmal melden.

Also das Schreiben mit klappt:

dim f as FolderItem
f=GetFolderItem("/Users/michaeldinse/Desktop/IMG_2234\ 2.jpeg",1)
call ExtendedAttributesMBS.SetAttribute(f, “com.apple.metadata:test”, “Hallo Michael”)

im Terminal steht

Michaels-MBP:~ michaeldinse$ xattr -l /Users/michaeldinse/Desktop/IMG_2234\ 2.jpeg
com.apple.lastuseddate#PS:
00000000 83 4A 2B 5D 00 00 00 00 FC 5B 62 09 00 00 00 00 |.J+]…[b…| 00000010 com.apple.metadata:test: 00000000 62 70 6C 69 73 74 30 30 5D 48 61 6C 6C 6F 20 4D |bplist00]Hallo M|
00000010 69 63 68 61 65 6C 08 00 00 00 00 00 00 01 01 00 |ichael…|
00000020 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 |…|
00000030 00 00 00 00 00 00 16 |…|
00000037
com.apple.quarantine: 0082;5d2b441e;Photos;

Beim Auslesen leider noch nicht in Xojo

dim f as FolderItem
f=GetFolderItem("/Users/michaeldinse/Desktop/IMG_2234\ 2.jpeg",1)

dim v as Variant = ExtendedAttributesMBS.GetAttribute(f,“com.apple.metadata:test:”,1)
break // see comment string in debugger

Hier ist v immer Nil

[code]Dim f As FolderItem = SpecialFolder.Desktop.Child(“test.rtf”)
Dim a() As String = f.TagNamesMBS

Dim v As Variant = ExtendedAttributesMBS.GetAttribute(f,“com.apple.metadata:_kMDItemUserTags”,1)
Break // see comment string in debugger[/code]

das v ist ein array with strings in variants. Also bitte auch ein String Array übergeben und nicht einfach nur einen String.

Hallo Christian
SUPER, hat geklappt!!

Wie immer, vielen Dank
Micha D.