Ich kann dazu keine Informationen finden, also hoffe ich, dass jemand mit Erfahrung die Lücke füllen kann.
Ich schreibe einen einfachen Automator-Dienst und komme nicht über den ersten Schritt hinaus.
Service
files or folders
inFinder.app
Run AppleScript
Das Drehbuch ist
on run {input,parameters}
set test to container of input -- Can’t make container into type reference.
display dialog test as string
return input
end run
Der input
Parameter enthält die ausgewählte Datei oder den ausgewählten Ordner, und alles, was ich zu diesem Zeitpunkt tun möchte, ist, den übergeordneten Ordner des ausgewählten Elements abzurufen. Alles, was ich versuche, was von unzähligen Near -Lösungen im Web stammt, scheitert daran und sagt mir, dass ich den Container nicht in eine Referenz verwandeln kann.
Ich habe keine Ahnung, was ich tun soll, und ich kann keine Informationen darüber finden.
Wie kann ich den übergeordneten Ordner mit Automator abrufen?
Der Teil mit den geschweiften Klammern on run {input, parameters}
erstellt eine Liste , und als solche müssen Sie die Eingabe als Liste adressieren .
Das folgende Beispiel geht davon aus, dass nur eine Datei oder ein Ordner an den Dienst übergeben wird:
on run {input, parameters}
tell application "System Events"
set thePath to POSIX path of (container of (item 1 of input))
end tell
return thePath
end run
Kann Ihr Dienst mehr als eine Datei oder einen Ordner gleichzeitig empfangen? ... Wenn ja, dann müssen Sie den folgenden Code einbauen .
Das folgende Beispiel geht davon aus, dass mehrere Dateien oder Ordner an den Dienst übergeben werden:
on run {input, parameters}
set pathList to {}
repeat with itemNum from 1 to count of input
tell application "System Events"
copy POSIX path of (container of (item itemNum of input)) to end of pathList
end tell
end repeat
return pathList
end run
Referenz: Den Pfad des übergeordneten Ordners einer Datei erhalten?
Manngo
input
eine Liste ist. Danke für deine Lösungen. Ich habe den ersten in einen Dienst umgewandelt, um den übergeordneten Pfad zu erhalten, und den zweiten geändert, um mir eine Liste mit vollständigen Pfadnamen zu geben. Danke.John Smith