2012-06-29 17 views
12

Próbuję otworzyć folder w Finderze za pomocą AppleScript. Oto mój kod. Chcę, aby folder WorkSpace otwierał się w Finderze, ale otwiera folder nadrzędny /Volumes/MyMacDrive/Mani i podświetla folder WorkSpace. Chcę zawartość folderu WorkSpace, ale wszystko, co otrzymuję, to zawartość folderu nadrzędnego. Czego tu mi tu brakuje ..?AppleScript: Otwórz folder w Finderze

property the_path : "/Volumes/MyMacDrive/Mani/WorkSpace/" 
set the_folder to (POSIX file the_path) as alias 
tell application "Finder" 
    activate 
    if window 1 exists then 
     set target of window 1 to the_folder 
    else 
     reveal the_folder 
    end if 
end tell 
+2

użyć 'Finder window' klasa zamiast 'window', aby nie mieć błędu, jeśli jedno z tych okien jest otwarte (okno informacyjne, okno preferencji, okno obcinania i okno opcji widoku) .-->' jeśli okno Finder 1 istnieje wtedy '. Komenda odsłonięcia: Przenieś określone obiekty do ** widoku **, użyj polecenia 'otwórz', jak w odpowiedzi ** adayzdone **. – jackjr300

Odpowiedz

18

Jeśli chodzi o wyszukiwanie, wydaje się, że nie można otworzyć folderu, a jedynie podświetlić folder w AppleScript. Więc użyłem:

do shell script "open /Volumes/MyMacDrive/Mani/WorkSpace/" 

Dla mnie działało dobrze, ale proszę, zaktualizuj mnie, jeśli się mylę.

+0

Nie ma różnicy między poleceniem 'wykonaj skrypt powłoki' i poleceniem 'otwórz' (nie ** ujawnij **) w Finderze, działa ono dla wszystkich. Ale może to wyjątek od reguły. – jackjr300

+2

Dla kompletności, chciałbym dodać, że jeśli twoja ścieżka jest parametrem, możesz użyć 'wykonaj skrypt powłoki" otwórz "i quote & pathParameter & quote' i obsługuje takie rzeczy jak spacje w ścieżce. –

3

Spróbuj:

if front Finder window exists then 
    set target of front Finder window to the_folder 
else 
    open the_folder 
end if 

Edited włączyć korekcję jackjr300 użytkownika. Okno wyszukiwania jest poprawną klasą do użycia.

+0

Chociaż jest to poprawne, to go edytowałem, ponieważ nie zadziała bez 'end if ', a otrzymasz błąd, że' the_folder' nie jest zdefiniowany. –

11

To rzeczywiście prostsze niż się wydaje:

tell application "Finder" to open ("/Volumes/MyMacDrive/Mani/WorkSpace/" as POSIX file) 

lub użyć dwukropka dać ścieżkę AppleScript:

tell application "Finder" to open "MyMacDrive:Mani:WorkSpace" 

z tym masz otwarte okno

+1

To mi się nie udało – Besi

+0

Cóż, korzystam z drugiego i zadziałało to dla mnie (Mac OS X 10.10.3, AppleScript 2.4). Dziękuję Ci! – RoberRM

Powiązane problemy