2011-08-16 5 views
9

Tôi đang cố gắng tạo Bí danh tìm kiếm từ dòng lệnh hoặc từ chương trình Python. Tôi đã tìm kiếm trên web [1] [2] [3] và tìm thấy chút này của AppleScript:Làm cách nào để tạo Bí danh Tìm kiếm Macintosh Từ Dòng Lệnh?

$ osascript -e 'tell application "Finder" to make new alias at POSIX file "/Users/vy32/cyber.txt" to POSIX file "/Users/vy32/a/deeper/directory/cyber.txt"' 

Thật không may, nó mang lại cho tôi lỗi này:

29:133: execution error: Finder got an error: AppleEvent handler failed. (-10000) 

[1] http://hayne.net/MacDev/Bash/make_alias

[2] https://discussions.apple.com/thread/1041148?start=0&tstart=0

[3] http://hintsforums.macworld.com/showthread.php?t=27642

Tôi đang làm gì sai?

+0

Ra quan tâm, là "Cho phép truy cập cho các thiết bị trợ giúp" bật? http://hints.macworld.com/article.php?story=20060203225241914 – Coxy

+0

Tôi nghĩ rằng bạn đã chuyển sang 'at' và' to' attribtutes. – fireshadow52

Trả lời

7

về thư của bạn, hãy thử xem Console.app. Có thể là tệp nguồn không tồn tại. Điều này giúp tôi khi tôi cố gắng hiển thị các ứng dụng Xcode 4.3+. Tôi đã tìm thấy mã làm việc:

$ osascript -e 'tell application "Finder" to make alias file to POSIX file "/file/to/make/link/from" at POSIX file "/folder/where/to/make/link"' 

ví dụ:

$ osascript -e 'tell application "Finder" to make alias file to POSIX file "/Applications/Xcode.app/Contents/Applications/OpenGL ES Performance Detective.app" at POSIX file "/Users/mylogin/Applications"' 
+0

Đã hoạt động! Cảm ơn. – vy32

+0

Điều này gây ra lỗi như được chỉ ra bởi @Leandros, giải pháp thực sự hoạt động ... –

+0

@MarkSetchell bạn có thể nói thêm về môi trường của mình không? –

0

Lệnh làm việc trong AppleScript:

tell application "Finder" 
    make new alias at POSIX file "/Path/to/location" to POSIX file "/Path/to/file.ext" 
end tell 

Thêm muối vừa ăn.

+0

@Phillip Regan Không yêu cầu tham chiếu bí danh thực sự? – fireshadow52

+0

@ fireshadow52: Không. Tôi lấy đường dẫn đến một tập tin ngẫu nhiên và sử dụng thư mục nhà của tôi (nơi tôi chỉ lưu trữ các mặc định hệ điều hành), và nó chỉ làm việc (không có ý định chơi chữ); một bí danh xuất hiện tại vị trí tôi đã chỉ định. –

+0

Tôi thực sự muốn có thể làm điều này từ dòng lệnh, nhưng khi tôi lấy mã của bạn và thay đổi nó thành 'osascript -e' cho ứng dụng "Finder" để' theo sau dòng thứ hai của bạn, nó không hoạt động ...? – vy32

1

cách tiếp cận này hoạt động từ dòng lệnh:

osascript -e 'tell application "Finder" to make alias file to alias "imac:Users:vy32:current:cyber.txt" at "imac:Users:vy32:foobar"' 

đâu foobar là một thư mục trong homedir của tôi.

+0

Các ví dụ khác sẽ không hoạt động đối với tôi, nhưng ví dụ này, với đường dẫn tệp "Mac OS" kiểu cũ. Cảm ơn. –

3

Đối với tất cả mọi người phải vật lộn với lỗi AppleEvent handler failed:

make alias không hoạt động như ln -s, bạn không cần phải chỉ định đích đến tệp, bạn phải chỉ định đích thư mục, tên tệp của bí danh là tên của tệp/thư mục nguồn.

Ví dụ:

tell application "Finder" to make alias file to (POSIX file "/Applications/Mail.app") at (POSIX file "/Users/leandros/Desktop")