Как создать псевдоним Macintosh Finder из командной строки?

Я пытаюсь создать псевдоним Finder из командной строки или из программы Python. Я искал в интернете[1] [2] [3] и нашел этот бит applescript:

$ 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"'

к сожалению, это дает мне эту ошибку:

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

что я делаю не так?

4 ответов


о вашем сообщении, попробуйте посмотреть консоль.приложение. Может быть исходный файл не существует. Это помогает мне, когда я пытаюсь сделать приложения Xcode 4.3+ видимыми. Я нашел рабочий код:

$ 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"'

например:

$ 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"'

для всех, кто борется с AppleEvent handler failed ошибка:

make alias не работает ln -s, вам не нужно указывать пункт назначения , вы должны указать пункт назначения каталог, имя файла псевдонима-это имя исходного файла/папки.

пример:

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

этот подход работает из командной строки:

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

здесь foobar - это каталог в моем homedir.


рабочая команда в Applescript:

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

добавить соль по вкусу.