Ergebnis 1 bis 7 von 7
  1. #1
    Jonagold
    Themenstarter

    Registriert
    12.2010
    Beiträge
    23

    Filename aus einer propertylist auslesen unter Lion

    Hallo zusammen,
    ich hatte unter Snow Leopard ein Script erstellt, dass die Dokumente aus dem Dock auf meinen Stick kopiert. Seit Umstieg auf Lion funktioniert es nicht mehr. Grund: In der Propertylist ("macintosh hd:users:name:Library:Preferences:com.apple.dock.p list:") wird der Name des Dokuments verändert. Aus einem Leerzeichen im Dokumenten-Namen wird ein "% 20".

    Der relevante Scriptausschnitt:
    Code:
    try
                set x to 1
                set docklist to {}
                repeat
                    tell application "System Events"
                        set propList to property list file "macintosh hd:users:philipptrankle:Library:Preferences:com.apple.dock.plist:"
                        set a to (value of property list item "_CFURLString" of property list item "file-data" of property list item "tile-data" of property list item x of property list item "persistent-others" of propList) as POSIX file
                    end tell
                    set end of docklist to a
                    set x to (x + 1)
                end repeat
            end try

    Das Ergebnis unter Lion:
    file "Macintosh HD:Users:name:Publikationen:2011-% 20Prozessverbesserung/Implementierung% 20LL:Artikel Analgosedierung.docx:"

    Wenn ich diesen String in einen "copy"-Befehl verwende bekomme ich eine Fehlermeldung.

    Frage: Wie kann ich unter Lion den String eines Dokumenten-Namens aus einer plist korrekt auslesen?

    Vielen Dank
    Geändert von Streptokokke (08.12.2011 um 18:37 Uhr)
    MacBook 5.1; 13.3 Zoll, Prozessor 2,4 GHZ intel Core 2 Duo, Speicher: 2GB, Snow Leopard

  2. #2
    Jonagold
    Themenstarter

    Registriert
    12.2010
    Beiträge
    23
    .
    Geändert von Streptokokke (08.12.2011 um 17:55 Uhr)
    MacBook 5.1; 13.3 Zoll, Prozessor 2,4 GHZ intel Core 2 Duo, Speicher: 2GB, Snow Leopard

  3. #3
    Jonagold
    Themenstarter

    Registriert
    12.2010
    Beiträge
    23
    .
    MacBook 5.1; 13.3 Zoll, Prozessor 2,4 GHZ intel Core 2 Duo, Speicher: 2GB, Snow Leopard

  4. #4
    Luxemburger Triumph Avatar von sedna
    Registriert
    10.2008
    Beiträge
    498
    Hallo!

    Wenn du diese Zeile einfügst, sollte das klappen.

    set a to do shell script "echo " & a & " | sed 's/ / /g'"
    set end of docklist to a


    In deinem Skript wird es immer eine kleine Fehlermeldung geben (die aber nicht soo tragisch ist). Du könntest die Anzahl der Elemente jedoch auslesen:
    repeat with i from 1 to count of property list items of property list item "persistent-others" of propList


    Gruß

  5. #5
    Jonagold
    Themenstarter

    Registriert
    12.2010
    Beiträge
    23
    Hallo Sedna,
    danke für die schnelle Hilfe. Es tut. Dank dir bin ich auch das peinliche "try" losgeworden.

    Was mich generell interessieren würde: Warum wird der String unter Lion überhaupt verändert? Ich frage weil ich damit rechnen muss, dass es noch mehr Zeichen gibt, die unter Lion in einem Dokumenten-Namen verändert werden.
    MacBook 5.1; 13.3 Zoll, Prozessor 2,4 GHZ intel Core 2 Duo, Speicher: 2GB, Snow Leopard

  6. #6
    Luxemburger Triumph Avatar von sedna
    Registriert
    10.2008
    Beiträge
    498
    Bevor ich deine Frage nur mit meinem Halbwissen beantworte, lasse ich es lieber
    Und ja, natürlich musst du damit rechnen, dass noch mehr Zeichen verändert werden, sofern du weiterhin Leerzeichen oder sogar Sonderzeichen im Pfad benutzt (Das kann dir immer wieder Ärger bereiten)

    Das Stichwort ist URL (bzw. URI) Encoding. Mit Google findest du die Zeichen und wie sie verändert werden
    Du kannst das dem Shell Script anhängen
    do shell script "echo " & T & " | sed 's/%20/ /g' | sed 's/%25/%/g'" usw

    Oder du suchst im Netz nach einem AppleScript Händler, der dir das decodiert ... so wie hier in der Art
    (Hier gibt es ein anschauliches Beispiel für einen Encoder)
    Wenn du nicht klar kommst, helfe ich dir gerne beim Erstellen des Händlers .... aber das shellscript wäre auch eine gute Lösung.



    Gruß
    Geändert von sedna (09.12.2011 um 00:45 Uhr) Grund: edit

  7. #7
    Jonagold
    Themenstarter

    Registriert
    12.2010
    Beiträge
    23
    ...genial, Sedna: vielen Dank.

    bin immer ein bisschen hin und her gerissen, denn: die Händler sind irgendwie ehrlicher weil man in Apple Script bleibt, allerdings ist das Shell-Script so g'schmeidig einfach...
    Wegen Zeitmangel bleib ich mal beim Shell-Script, weiß dein Angebot aber zu schätzen.
    Vielen Dank noch mal.
    MacBook 5.1; 13.3 Zoll, Prozessor 2,4 GHZ intel Core 2 Duo, Speicher: 2GB, Snow Leopard

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •