_kMDItemUserTags schreiben

  1. 3 months ago

    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.

  2. Christian S

    Jul 13 Pre-Release Testers, Xojo Pro, XDC Speakers, Third Party Store Germany

    Schau dir mal folderitem SetTagNamesMBS im MBS Plugin an.

  3. 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???

  4. Christian S

    Jul 13 Pre-Release Testers, Xojo Pro, XDC Speakers, Third Party Store Germany

    DU kannst da sicher keinen Klartext reinschreiben.

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

    Zeigt mir:

    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

    Also binäre Plist. Das müsste SetTagNamesMBS schreiben. Ansonsten ExtendedAttributesMBS module. Da kannst du mit GetAttribute mal auslesen und mit SetAttribute neu schreiben.

  5. 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

  6. Christian S

    Jul 14 Pre-Release Testers, Xojo Pro, XDC Speakers, Third Party Store Germany
    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

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

  7. Hallo Christian
    SUPER, hat geklappt!!

    Wie immer, vielen Dank
    Micha D.

or Sign Up to reply!