.
Ergebnis 1 bis 7 von 7
- 08.12.2011, 17:27 #1Jonagold
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 DankGeä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
- 08.12.2011, 17:30 #2Jonagold
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
- 08.12.2011, 17:31 #3Jonagold
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
- 08.12.2011, 20:02 #4
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ß
- 08.12.2011, 21:03 #5Jonagold
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
- 08.12.2011, 23:35 #6
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
- 09.12.2011, 21:22 #7Jonagold
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


Zitieren
