2011-08-16 6 views
9

コマンドラインまたはPythonプログラムからFinderエイリアスを作成しようとしています。私は、[3] [2] [1]ウェブを検索したAppleScriptのこのビットを発見した:コマンドラインからMacintosh Finderエイリアスを作成するにはどうすればよいですか?

$ 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

どうしたの?

+0

は、 "補助装置にアクセスを有効にする" になっていますか? http://hints.macworld.com/article.php?story=20060203225241914 – Coxy

+0

あなたは「at」と「to」属性を切り替えたと思います。 – fireshadow52

答えて

7

あなたのメッセージについては、Console.appを見てみてください。ソースファイルが存在しない可能性があります。これは、Xcode 4.3以上のアプリケーションを表示させようとするときに役立ちます。みんなのために

$ 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

それはうまくいった!ありがとう。 – vy32

+0

これは、@Leandrosによって指摘されているようにエラーが発生します。その解決策は実際には機能します... –

+0

@MarkSetchellあなたの環境について詳しく教えてください。 –

0

AppleScriptでは作業コマンド:

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

は、味に塩を追加します。

+0

@Phillip Reganしかし、実際のエイリアスの参照は必要ありませんか? – fireshadow52

+0

@ fireshadow52:いいえ。私はランダムなファイルへのパスをつかんで、私のホームフォルダ(私はOSのデフォルトを保存するだけです)を使いました。私が指定した場所にエイリアスが現れました。 –

+0

私はコマンドラインからこれを行うことが本当に好きですが、あなたのコードを取り出して 'osascript -e 'に変更すると、アプリケーション" Finder "に2番目の行が続き、それは動作しません...? – vy32

1

このアプローチでは、コマンドラインから動作します:foobarは私のホームディレクトリ内のディレクトリです

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

+0

他の例は私にとってはうまくいかないでしょうが、これは旧式の「Mac OS」ファイルパスを使った例です。ありがとう。 –

3

AppleEvent handler failedエラーに苦しん:例えば

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

:私は動作するコードを見つけた

make aliasln -sのように動作しません、あなたがする必要はありません宛先ファイルを指定する場合は、宛先ディレクトリを指定する必要があります。エイリアスのファイル名はソースファイル/フォルダ。

例:関心のうち

tell application "Finder" to make alias file to (POSIX file "/Applications/Mail.app") at (POSIX file "/Users/leandros/Desktop") 
関連する問題