Fischer-Bayern.de
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Pfad zum aktuellen laufenden script

 
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Fischer-Bayern.de Foren-Übersicht -> AppleScript-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Ziff
•->
•->


Anmeldedatum: 30.01.2002
Beiträge: 3

BeitragVerfasst am: 30.01.2002 - 03:20    Titel: Pfad zum aktuellen laufenden script Antworten mit Zitat

Hi alle,
gibts ne einfache Möglichkeit, in einem laufendem Script den Pfad
zu eben diesem Script zu finden?
Hintergrund: das script soll (auch als Kopie) im Folder in dem es sitzt, die gleiche (bzw - in Abhängigkeit vom Pfad - ähnliche) Aktion(en) ausführen.

Es sollen also einige Kopien desselben Scripts in verschiedenen Foldern vorkommen können, d.h. durch einfaches Kopieren (um "open" dialoge zu vermeiden) könnten dann die Aktionen ausgeführt werden.

Wenn jemand ne Lösung weiss, um den Pfad eines "alias" statt der Kopie zu finden, wär das natürlich um ein paar hundert Grade toller und eleganter ;-)

Abstraktes Beispiel:

"disk:programme:daten:"
-- Script starten
-- "get current path" -> "disk:programme:daten:"
-- do something

"otherdisk:graphics:"
-- Script (copy/alias?) starten
-- "get current path" -> "otherdisk:graphics:"
-- do something else

Kann sein, dass die Frage trivial ist, hab aber auf Anhieb nichts dazu gefunden (versuch mich erst seit 2 Tagen an Apple Scripts)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Busyman
•-->
•-->


Anmeldedatum: 16.09.2001
Beiträge: 64
Wohnort: Ostwestfalen

BeitragVerfasst am: 30.01.2002 - 10:34    Titel: Pfad zum aktuellen laufenden script Antworten mit Zitat

Hi,

ja, es gibt eine Methode, um den Pfad zum laufenden Script zu ermitteln:

tell application "Finder"
activate
set filepath to path to me
set folderpath to container of filepath as alias
end tell


___

"set filepath to path to me" schreibt den Pfad zum Script als Alias in die Variable filepath. Wenn Du das Script kopierst und in den Scripteditor einfügst, dann ausführst und die Option "Eventprotokoll öffnen" ausgewählt ist, siehst Du, daß Du als Information von filepath das Alias zum Scripteditor zurückbekommst.

"set folderpath to container of filepath as alias" speichert den Pfad zum Ordner, in dem sich das Script gerade befindet, als Aliasinformation in die Varibale folderpath. Das kann manchmal auch sehr praktisch sein.

Hoffe, etwas geholfen zu haben Smile

Gruß,

Busyman
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Ziff
•->
•->


Anmeldedatum: 30.01.2002
Beiträge: 3

BeitragVerfasst am: 30.01.2002 - 15:20    Titel: Pfad zum aktuellen laufenden script Antworten mit Zitat

Danke, das wars (fast).
Wonach ich eigentlich gesucht hab, war:

set selFile to selection as alias -- missing error handling if multiple selections
set selPath to container of selFile as text

Ich bin Programmierer, hab also absolut keine Ahnung was rtfm bedeuten könnte... Wink
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1946
Wohnort: Deiningen

BeitragVerfasst am: 30.01.2002 - 22:20    Titel: Pfad zum aktuellen laufenden script Antworten mit Zitat

Hallo Ziff,

Busyman hat absolut recht. Allerdings funktioniert es erst, wenn du das Skript als Applet gespeichert hast. Solange es im Skripteditor ausgeführt wird, beziehen sich die Pfadangaben auf den Skripteditor bzw. den Ordner, der diesen enthält.

Folgendes Skript veranschaulicht die Sache nochmal. Ich habe jetzt auch gleich mal den Pfad zum Ordner in einen Text umgewandelt:

set CR to return & return

tell application "Finder"
activate
set filepath to path to me
set folderpath to container of filepath as text
end tell

activate
display dialog "Pfad zum Skript:" & CR ¨
& "\"" & filepath & "\"" & CR ¨
& "Pfad zum Ordner, der das Skript enthält:" & CR ¨
& "\"" & folderpath & "\"" buttons { "OK" } ¨
default button 1 with icon note


Lege jetzt mal dieses Skript an verschiedenen Stellen ab und teste die Sache.
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com


Zuletzt bearbeitet von Snow am 22.02.2003 - 23:40, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Ziff
•->
•->


Anmeldedatum: 30.01.2002
Beiträge: 3

BeitragVerfasst am: 31.01.2002 - 01:11    Titel: Pfad zum aktuellen laufenden script Antworten mit Zitat

Hallo Snow,
sorry, ich hab mich wohl nicht klar ausgedrückt. Klar funktioniert das Script von Busyman wunderbar und hat mir auch weitergeholfen. Das war der erste Schritt zur Lösung, die ich anstrebte.

Ich wollte allerdings nach Möglichkeit das Originalscript nur an _einer_ Stelle speichern, an den anderen Stellen nur 'n alias davon - damit ich das script nur einmal ändern und danach nicht 20mal kopieren muss.

Wenn ich ein alias von Busymans Lösung starte, bekomme ich aber immer nur den Pfad des Scripts selbst, nicht den des Alias. Mit Kopien funktionierts selbstverständlich, aber wer will sich schon mehr Arbeit aufhalsen als nötig ;-)

Nochmal danke für die Hilfe

PS.
Ersetze Busymans Zeilen durch meine in deinem Vorschlag (geänderte Variablennamen natürlich), und mach Aliase vom Originalscript an verschiedenen Stellen, dann Doppelklick auf die aliase. Vielleicht wirds dann klarer was ich meinte.


(Geändert von Ziff um 0:24 Uhr am 31 Jan. 2002)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1946
Wohnort: Deiningen

BeitragVerfasst am: 31.01.2002 - 01:19    Titel: Pfad zum aktuellen laufenden script Antworten mit Zitat

OK Ziff,

hab's jetzt kapiert. Wink
Man müsste also eine Möglichkeit finden, damit das Skript feststellt, von welchem Alias es gestartet wurde.

Das habe ich noch nie gemacht. - Scheint mir aber eine hochinteressante Idee zu sein. Mal sehen...

Im Moment kann ich dazu rein gar nichts sagen. Confused
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Beiträge der letzten Zeit anzeigen:   
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Fischer-Bayern.de Foren-Übersicht -> AppleScript-Forum Alle Zeiten sind GMT + 2 Stunden
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2002 phpBB Group
Deutsche Übersetzung von phpBB.de


AppleScript für absolute Starter