logo
logo
Verständnisfrage Programmierung / Format von Pfadangeben - Mac-TV.de
Zurück   Mac-TV.de > Fachforen für klassische Macs > Sonstige Fachfragen
Registrieren Hilfe Suchen Heutige Beiträge Alle Foren als gelesen markieren

Antwort
 
Themen-Optionen Thema durchsuchen
  #1  
Alt 28.07.2018, 18:16
mighty_Maxwell mighty_Maxwell ist offline
Erfahrener Benutzer
 
Registriert seit: 09.06.2009
Ort: Wuppertal
Beiträge: 410
Verständnisfrage Programmierung / Format von Pfadangeben

Ich habe da eine kleine Verständnisfrage die mir beim der Erstellung eines AppleScripts untergekommen ist. Die folgenden Zeilen veranschaulichen meine Frage.

Wie würde man den Pfad im Kommentar zu den Variablen "pathToDesktopString" bzw. "pathToDesktopStringPOSIX" bezeichnen damit er von anderen eindeutig verstanden wird?

Beispiel: "-- Variable mit dem Pfad zum Desktop im POSIX-Format"

Code:
set pathToDesktop to path to desktop folder
set pathToDesktopString to (pathToDesktop as string)
set pathToDesktopStringPOSIX to POSIX path of pathToDesktopString
display alert pathToDesktopString
display alert pathToDesktopStringPOSIX
Beispiel:

Code:
...
-- Variable mit dem Pfad zum Desktop im POSIX-Format
set pathToDesktopStringPOSIX to POSIX path of pathToDesktopString
...
Wenn das Beispiel eindeutig ist, in welchem Format ist dann der Pfad hier
Code:
set pathToDesktopString to (pathToDesktop as string)
gespeichert
Mit Zitat antworten
  #2  
Alt 28.07.2018, 19:47
Jörn Jörn ist offline
Administrator
 
Registriert seit: 05.01.2008
Beiträge: 8.828
Ich verstehe Deine Frage noch nicht so richtig.

Die Umwandlung zum POSIX-Format macht im Grunde nichts anderes als Doppelpunkte ":" in Schrägstriche "/" zu verwandeln. Dadurch kann man diese Pfade für Terminal-Befehle (Shell) benutzen.

Aus
"Macintosh HD:Users:hans:Desktop:Lebenslauf.txt"
wird
"Macintosh HD/Users/hans/Desktop/Lebenslauf.txt"

Nach meiner Erfahrung entstehen Probleme oft dort, wo diese Pfade in Strings umgewandelt werden. Strings sind einfach nur Texte. Aber AppleScript will Pfadangaben oft als sog. "Aliase" haben:

set pathToDesktop to path to desktop folder as alias
Den Zusatz "as alias" kann man auch oft weglassen, da es der Default-Wert ist:
set pathToDesktop to path to desktop folder

Es kommt darauf an, was man damit machen will. Wenn man den Pfad erst "zusammenbastelt", dann ist der Pfad vermutlich erstmal ein String, also ein reiner Text. In manchen Situationen möchte AppleScript aber ein Alias haben, und dann muss man den String umwandeln in ein Alias, bevor manche Datei-Befehle funktionieren. Manchmal aber auch nicht. Das Geheimnis dahinter kennt nur der Wind...

Was hat das mit Deinem Problem zu tun? Nichts. Aber da ich Deine Frage noch nicht ganz verstanden habe, wollte ich vorab eine der häufigsten Hürden ansprechen. Man kann sich gelegentlich die Haare mit POSIX ausreißen, ohne zu merken, dass es eigentlich an der Notwendigkeit liegt, den String in ein Alias umzuwandeln (oder andersrum).

----

Bei Deinem Beispiel

Code:
set pathToDesktopString to (pathToDesktop as string)
würde die Doppelpunkt-Version herauskommen, allerdings als String, nicht als Alias:
"Macintosh HD:Users:hans:Desktop:"

Da es ein String ist und kein Alias, kannst Du ihn behandeln wie einen Text, beispielsweise kannst Du einen Dateinamen anhängen:
"Macintosh HD:Users:hans:Desktop:Lebenslauf.txt"

Code:
-- Zwei Versionen festelegen: Alias und String
set pathToDesktop to path to desktop folder
set pathToDesktopString to path to desktop folder as string

-- Zum Basteln den String nehmen
set pathToLebenslaufString to pathToDesktopString & "Lebenslauf.txt"

-- Dateibefehl ausführen
tell application "Finder"
	-- Hier braucht man die String-Version
	get properties of file pathToLebenslaufString
end tell

Geändert von Jörn (28.07.2018 um 20:10 Uhr).
Mit Zitat antworten
Antwort


Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Gehe zu




Powered by vBulletin® Version 3.6.8 (Deutsch)
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.