Odpowiedz na ten temat
Strona 1 z 2 1 2 OstatniaOstatnia
Pokaż wyniki od 1 do 10 z 13
  1. Avatar olafejs
    Dołączył
    Aug 2008
    Skąd
    Poznań, PL
    Postów
    1,027

    Cytuj | #1

    Witam mam pytanie ponieważ odpowiedzi która była by dla mnie jasna i klarowna nie znalazłem u wujka Google dlatego zwracam się z pytaniem tutaj.

    Mam skrypt "cos.sh" którego wrzuciłem w edytorze AppleScript do katalogu "Scripts" niestety wykonując komendę "do shell script" muszę mu podać pełną ścieżkę do pliku, niestety ten sposób jest trochę zły ponieważ jak przeniosę całą aplikacje (cos.app) to ta ścieżka jest już nieprawidłowa. Wyczytałem że jest jakiś sposób komendą "path to me" ale jej nie pojąłem niestety;/ Czy moża podać mu taką ścieżkę żeby niezależnie gdzie była aplikacja działała ona ?
    Komputer: MacBook Pro 15' i7 2011 SSD i 8GB Ram
    Telefon: iPhone 3Gs 5.1


  2. Avatar macieks72

    Dołączył
    Aug 2009
    Postów
    9,327

    Cytuj | #2

    Wersja 1:
    Kod:
    set myPath to (path to me) as text
    
    set myFolderPath to POSIX file (do shell script "dirname " & POSIX path of quoted form of myPath) & ":" as string
    
    set myFolderPathPosix to POSIX path of myFolderPath
    
    display dialog myFolderPathPosix
    Wersja 2:
    Kod:
    tell application "Finder"
    	set my_folder_path to container of (path to me) as text
    	set my_folder_path_posix to POSIX path of myFolderPath
    	display dialog my_folder_path_posix
    end tell
    Wszystko znalezione w 5 minut w Internecie.
    Ostatnio edytowane przez macieks72 ; 14.05.2011 o 18:15
    Komputer: Macbook Pro wykąpany w pepsi, teraz Acer Aspire 5750G
    Telefon: iPhone 4 - iOS 5.1.1
    Ludzie, używajcie alta. No chyba że wam obojętne, czy robicie komuś 'łaskę', czy 'laske'.

  3. Avatar olafejs
    Dołączył
    Aug 2008
    Skąd
    Poznań, PL
    Postów
    1,027

    Cytuj | #3

    @macieks72 dziękuje działa jak powinno a jak wykonać to przy "do shell script" ?

    Mam coś takiego aktualnie

    Kod php:
    do shell script "/Users/XXX/Desktop/Dropbox\\ Linker.app/Contents/Resources/Scripts/Dropbox.sh" 
    Czy to będzie coś w tym stylu ?

    Kod php:
    do shell script '"(myFolderPathPosix)"Dropbox\\ Linker.app/Contents/Resources/Scripts/Dropbox.sh' 
    Komputer: MacBook Pro 15' i7 2011 SSD i 8GB Ram
    Telefon: iPhone 3Gs 5.1

  4. Avatar macieks72

    Dołączył
    Aug 2009
    Postów
    9,327

    Cytuj | #4

    Z drugiej wersji masz w my_folder_path_posix aktualną scieżkę do skryptu Apple script, który wykonujesz, a więc aby wykonać w nim skrypt w sh podepnij tą ścieżkę do "do shell script"

    Zakładając że Script.scpt i my_cool_script.sh masz w tym samym katalogu. Nie wiem jak jest z .app, wyświetl sobie display dialog i potestuj.

    przykład:
    Kod:
    do shell script my_folder_path_posix & "my_cool_script.sh"
    Dodaj quoted form jak masz spacje tam i to wszystko.

    ---------- Wpis dodano o 19:41 ---------- Poprzedni wpis dodano o 19:33 ----------

    Cytat Napisał olafejs Zobacz post
    Kod php:
    do shell script '"(myFolderPathPosix)"Dropbox\\ Linker.app/Contents/Resources/Scripts/Dropbox.sh' 

    Chwilka moment, gdzie jest skrypt scpt, jest opakowany w tym Linker.app? Więcej danych bo nic z tych Twoich ścieżek nie wiadomo.

    ---------- Wpis dodano o 19:46 ---------- Poprzedni wpis dodano o 19:41 ----------

    Sprawdziłem i wychodzi na to że to "path to me" jeśli skrypt zapisałeś jako .app podeje scieżkę do .app, czyli musiał byś zrobić:

    Kod:
    do shell script '"(myFolderPathPosix)"Linker.app/Contents/Resources/Scripts/Dropbox.sh'
    Pisane z palca, nie testowane. Jak brakuje jakichś "/" itp to dodaj.

    Zakładam że ten Linker.app to jest skrypt Apple Script.
    Ostatnio edytowane przez macieks72 ; 14.05.2011 o 18:35
    Komputer: Macbook Pro wykąpany w pepsi, teraz Acer Aspire 5750G
    Telefon: iPhone 4 - iOS 5.1.1
    Ludzie, używajcie alta. No chyba że wam obojętne, czy robicie komuś 'łaskę', czy 'laske'.

  5. Avatar olafejs
    Dołączył
    Aug 2008
    Skąd
    Poznań, PL
    Postów
    1,027

    Cytuj | #5

    Żądnego skryptu z rozszerzeniem scpt nie zapisywałem. W Dropbox Linker w katalogu Scripts jest dodany skrypt zapisujący zebrane dane do pliku na pulpicie z rozszerzeniem .sh. A operacje jakie wykonuje w Edytorze AppleScript zapisuje jako program.

    Gdzie jest błąd w dodaniu quoted form ?

    Kod php:
    set myPath to (path to me) as text

    set myPath to quoted form of POSIX path

    set myFolderPath to POSIX file 
    (do shell script "dirname " POSIX path of quoted form of myPath) & ":" as string

    set myFolderPathPosix to POSIX path of myFolderPath 
    Komputer: MacBook Pro 15' i7 2011 SSD i 8GB Ram
    Telefon: iPhone 3Gs 5.1

  6. Avatar macieks72

    Dołączył
    Aug 2009
    Postów
    9,327

    Cytuj | #6

    Masz:
    Kod:
    set myPath to quoted form of POSIX path
    a powinno być:
    Kod:
    set myPath to quoted form of POSIX path of myPath
    Dlatego się to nie uruchamia tobie.

    Ale jak już to quoted form daj niżej, na końcu:

    Kod:
    set myFolderPathPosix to quoted form of POSIX path of myFolderPath
    No chyba że o coś innego Ci chodzi.
    Ostatnio edytowane przez macieks72 ; 14.05.2011 o 18:54
    Komputer: Macbook Pro wykąpany w pepsi, teraz Acer Aspire 5750G
    Telefon: iPhone 4 - iOS 5.1.1
    Ludzie, używajcie alta. No chyba że wam obojętne, czy robicie komuś 'łaskę', czy 'laske'.

  7. Avatar olafejs
    Dołączył
    Aug 2008
    Skąd
    Poznań, PL
    Postów
    1,027

    Cytuj | #7

    Ok czyli teraz mam tak

    Kod php:
    set myPath to (path to me) as text

    set myPath to quoted form of POSIX path of myPath

    set myFolderPath to POSIX file 
    (do shell script "dirname " POSIX path of quoted form of myPath) & ":" as string

    set myFolderPathPosix to POSIX path of myFolderPath

    do shell script myFolderPathPosix "Dropbox Linker.app/Contents/Resources/Scripts/Dropbox.sh" 
    Ale zaczął wywalać taki błąd

    Kod php:
    sh: /DropboxNo such file or directory 
    Log:

    Kod php:
    tell current application
        path to current application
            
    --> alias "Macintosh HD:Users:XXX:Desktop:Dropbox Linker.app:"
        
    do shell script "dirname /''\\'':Users:XXX:Desktop:Dropbox Linker.app:'\\'''"
            
    --> "/"
        
    do shell script "/Dropbox Linker.app/Contents/Resources/Scripts/Dropbox.sh"
            
    --> error "sh: /Dropbox: No such file or directory" number 127
    Wynik
    :
    error "sh: /Dropbox: No such file or directory" number 127 
    Komputer: MacBook Pro 15' i7 2011 SSD i 8GB Ram
    Telefon: iPhone 3Gs 5.1

  8. Avatar macieks72

    Dołączył
    Aug 2009
    Postów
    9,327

    Cytuj | #8

    No i co to jest ten Linker.app bo nie odpowiedziałeś?
    Czy to jest ten twój apple script zapisany do .app?

    Wyświetl sobie "display dialog", następnie dodaj ścieżkę w głąb do tego .sh i tyle.

    Ja już nie umiem Ci pomóc, dla mnie to jest proste jak drut, coś źle robisz widocznie. Sorry nie mam siły już pisać.
    Ostatnio edytowane przez macieks72 ; 14.05.2011 o 19:00
    Komputer: Macbook Pro wykąpany w pepsi, teraz Acer Aspire 5750G
    Telefon: iPhone 4 - iOS 5.1.1
    Ludzie, używajcie alta. No chyba że wam obojętne, czy robicie komuś 'łaskę', czy 'laske'.

  9. Avatar olafejs
    Dołączył
    Aug 2008
    Skąd
    Poznań, PL
    Postów
    1,027

    Cytuj | #9

    Tak to jest Apple Script zapisany do Dropbox Linker.app
    Komputer: MacBook Pro 15' i7 2011 SSD i 8GB Ram
    Telefon: iPhone 3Gs 5.1

  10. Avatar olafejs
    Dołączył
    Aug 2008
    Skąd
    Poznań, PL
    Postów
    1,027

    Czy może jakoś tym sposobem jest możliwość obejścia problemu ? Z tym kodem może być już dowolny uzytkownik ale musi być konkretna ścieżka w katalogu domowym ;/

    Kod php:
    set filePath to "~/Desktop/Dropbox\\ Linker/Dropbox\\ Linker.app/Contents/Resources/Scripts/"

    set fileName to "Dropbox.sh"

    set newFilePath to filePath quoted form of (fileName)

    do 
    shell script "sh " newFilePath 
    Komputer: MacBook Pro 15' i7 2011 SSD i 8GB Ram
    Telefon: iPhone 3Gs 5.1

Odpowiedz na ten temat
Strona 1 z 2 1 2 OstatniaOstatnia