1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Datei auf AS fallen lassen => Pfad als Variable

Dieses Thema im Forum "AppleScript" wurde erstellt von schlingel, 28.03.06.

  1. schlingel

    schlingel Melrose

    Dabei seit:
    06.06.04
    Beiträge:
    2.483
    Ahoi!
    Ich stehe etwas auf dem Schlauch, ich schreibe gerade ein "Programm" (Applescript Progrämmchen), auf das eine Datei fallen lassen möchte. Der Pfad der Datei soll nachher im Skript als Variable zur Verfügung stehen.
    Ich finde einfach nicht wie das geht...
     
  2. Dante101

    Dante101 Ralls Genet

    Dabei seit:
    11.10.05
    Beiträge:
    5.052
    Sieh Dir mal diesen Thread an. In diesem Script wird genau das verwendet. Ich glaub das meinst Du.
     
  3. schlingel

    schlingel Melrose

    Dabei seit:
    06.06.04
    Beiträge:
    2.483
    OK, es scheint mit flist zu gehen.

    Aber flist übergibt die ganze datei, nicht nur den pfad.. :(
     
  4. schlingel

    schlingel Melrose

    Dabei seit:
    06.06.04
    Beiträge:
    2.483
    Ich will nur einen String und auch nur den Pfad der ersten gedroppten Datei.
    Wenn ich deinen Code Einfüge, bekomme ich direkt die FM, dass die Methode "run" mehr als einmal definiert sei (in meinem Code kommt sie allerdings nicht vor...)

    Wenn ich den Code richtig verstehe, habe ich am schluss den Pfad in der Variablen prmString oder?
     
  5. schlingel

    schlingel Melrose

    Dabei seit:
    06.06.04
    Beiträge:
    2.483
    Super danke!!!
    Wieder was Appleskriptiges gelernt.

    Jetzt ist mir was aufgefallen: Ich brauche im endeffekt den unix-Pfad zu meiner Datei, wenn die Datei auf dem Startvolume liegt, wär das ja kein Problem, dann kann ich ja die : im Pfad zu / konvertieren und den Volumennamen entfernen.
    Wenn die Datei jetzt aber auf einer Externen Festplatte liegt, was dann?
    Gibt es eine Methode an den UNIX Pfad zu kommen oder gibts eine Möglichkeit an die ich nicht gedacht hab?
     
  6. Daisy

    Daisy Uelzener Rambour

    Dabei seit:
    14.01.06
    Beiträge:
    366
    Moin Schlingel,

    da machst du einfach aus dem alias keinen String, sondern setzt 'POSIX path of' davor:
    Code:
    on doMain(prmFile)
    	set globalFilePathString to (POSIX path of (item 1 of (prmFile)))
    	my testDisplay()
    end doMain
    
    Grüße,

    D.
     
    schlingel gefällt das.
  7. schlingel

    schlingel Melrose

    Dabei seit:
    06.06.04
    Beiträge:
    2.483
    oh mann, ihr seid der hammer!!!
     
  8. schlingel

    schlingel Melrose

    Dabei seit:
    06.06.04
    Beiträge:
    2.483
    Aaaber ich wär ja nicht der schlingel, wenn ich nicht noch eine Frage hätt :)

    angenommen ich will ein command-line Tool mit in das .app Packen, dan erstelle ich mir ein Programm Bunde un Packe das in Contents/Resources/
    Bisher dachte ich, dass das ganze über "$1/Contents/Resources/..." aufrufen kann, dem scheint aber nicht so zu sein. Wie kann ich jetzt auf die Datei zugreifen?
    (../<dateiname>) geht auch nicht...
     
  9. the x-master

    the x-master Riesenboiken

    Dabei seit:
    29.01.06
    Beiträge:
    290
    Ganz einfach... mach im Script Editor ein neues Fenster und zieh die Datei oder Packet, Bundle... in das Fenster rein...
    Dann zeigt er die den Pfad an! :-D
    Meinst du das?
    X.
     
  10. schlingel

    schlingel Melrose

    Dabei seit:
    06.06.04
    Beiträge:
    2.483
    Nein, den Pfad des Programms kenne ich ja.
    Ich möchte in das Bunde in den "Unterpfad": /Contents/Resources/ eine Datei ablegen, die vom Skript benötigt wird und somit immer dabei ist.

    Ich habe momentan am Ende folgenden Code:
    Code:
    -- Terminalbefehl
    	set Befehl to "/Applications/ffmpeg2theora "
    	
    -- Befehlzusammensetzung
    	set Exec to Befehl & "-v " & videoquality & " -a " & audioquality & " -x " & width & " -y " & height & " " & globalFilePathString
    
    Da ich das Programm nicht immer in den Applications liegen haben möchte, sondern im Bundle brauche ich den relativen Pfad zum Ordner "AppName.app/Contents/Resources"
     
  11. Daisy

    Daisy Uelzener Rambour

    Dabei seit:
    14.01.06
    Beiträge:
    366
    Moin Schlingel,

    das geht so:
    Code:
    set thePath to (POSIX path of (path to me)) & "/Contents/Resources/ffmpeg2theora"
    Grüße,

    Daisy
     
  12. schlingel

    schlingel Melrose

    Dabei seit:
    06.06.04
    Beiträge:
    2.483
    "path to me" wie geil ist das eigentlich... achja, ich liebe applescript :)
     

Diese Seite empfehlen