Ordnername an Skript übergeben

maceis

Aktives Mitglied
Thread Starter
Mitglied seit
24.09.2003
Beiträge
16.878
Hallo zusammen,

ich möchte gerne ein Finder Plugin schreiben, dass mit einem Ordner arbeitet. Vorab: Ich arbeite nur sehr selten mit Automator und Applescript und habe dementsprechend wenig Ahnung.

Wie bekomme ich den Pfad des Ordners in eine Variable geschrieben.
Ich dachte immer, man könne dafür einfach "this_folder" verwenden. funktioniert aber nicht.

Zur Demonstration:
Code:
try
set pfad to this_folder
display dialog path
on error e
display e
end try
Ergibt immer: "Die Variable this_folder ist nicht definiert"
 

lengsel

Aktives Mitglied
Mitglied seit
25.11.2003
Beiträge
4.612
Welcher Ordner soll es denn sein?
Der aktuelle?
Ein beliebiger (zum Auswählen)?

Grüße,
Flo
 

maceis

Aktives Mitglied
Thread Starter
Mitglied seit
24.09.2003
Beiträge
16.878
Ein Finder Plugin rufe ich ja über das Kontextmenü des Finder auf.
Der Ordner, soll natürlich der sein, dessen Kontektmenü ich verwende.
 

little_pixel

Aktives Mitglied
Mitglied seit
06.06.2006
Beiträge
4.629
Hallo,

Code:
try
	set pfad to path to me
	tell application "Finder" to set pfad to (container of pfad) as string
	display alert "Pfad zum Mutterordner von mir" message pfad
on error errMsg number errNr
	display alert (errNr as string) as warning message errMsg
end try
Viele Grüße
 

lengsel

Aktives Mitglied
Mitglied seit
25.11.2003
Beiträge
4.612
Ein Finder Plugin rufe ich ja über das Kontextmenü des Finder auf.
Der Ordner, soll natürlich der sein, dessen Kontektmenü ich verwende.
natürlich...

Code:
tell application "Finder"

    set the_folder to (folder of the front window) as text
    set the clipboard to the_folder
    display dialog the_folder

end tell
Hilft das?

Grüße,
Flo
 

maceis

Aktives Mitglied
Thread Starter
Mitglied seit
24.09.2003
Beiträge
16.878
@ little_pixel:
Es wir hier leider immer pfad auf den Ordner /System/Library/CoresServices gesetzt.

@lengsel
hilft leider auch nicht:
Code:
on run
	tell application "Finder"
		try
			set the_folder to (folder of the front window) as text
		on error e
			display dialog e
			(* set the clipboard to the_folder *)
			display dialog the_folder
		end try
	end tell
end run
ergibt den Fehler:
<<class cfol of wondow>> 1 of application "Finder"
kann nicht in Typ Unicode text umgewandelt
werden.
 

maceis

Aktives Mitglied
Thread Starter
Mitglied seit
24.09.2003
Beiträge
16.878
Durch Trial and Error habe ich nun folgende halbwegs befriedigende Lösung gefunden:
1. Aktion: Ausgewählte Finder-Objekte abfragen
2. Aktion: Wert der Variablen festlegen ("ordner")
3. Aktion: Apple script ausführen
on run {input}
...
end run

Nun steht der Pfad in der Variablen input zur Verfügung.
Umständlich, aber es funktioniert.

Danke für Eure Bemühungen.
Gruß
maceis
 

lengsel

Aktives Mitglied
Mitglied seit
25.11.2003
Beiträge
4.612
Habe gerade noch ein altes Script gefunden:

Code:
tell application "Finder"
	set theText to POSIX path of (target of front window as alias)
end tell
Wusste doch es geht vergleichsweise einfach...

Grüße,
Flo
 

maceis

Aktives Mitglied
Thread Starter
Mitglied seit
24.09.2003
Beiträge
16.878
Danke.
Ich hab inzwischen auch noch ne einfachere Lösung parat:
Code:
tell application "Finder"
	set theObject to (selection as string)
	display dialog theObject
end tell
 
Oben