2011-07-21 22 views
5

My AppleScriptとPythonスクリプトが現在の作業ディレクトリにあります。 シェルコマンドを使用して、appleスクリプトから管理権限を持つtest.pyという名前のPythonスクリプトを呼び出す必要があります。 AppleScriptではAppleScriptからPythonスクリプトを呼び出す

このコードは、に沿って、このコマンドにpresentDirを追加する方法

do shell script "/Users/mymac/Documents/'Microsoft User Data'/test.py" 

手動

アップルスクリプトからPythonスクリプトを呼び出すAppleScriptではPWD

tell application "Finder" to get folder of (path to me) as Unicode text 
set presentDir to POSIX path of result 

にこのコードを与えます管理者権限で

EDITやUPDATE:

set py to "test.py " 
set calldir to workingDir & py 
do shell script calldir 

それはエラー

error "sh: /Users/mymac/Documents/Microsoft: No such file or directory" number 127 

しかし 表示ダイアログcalldir が

/Users/mymac/Documents/Microsoft User Data/test.py 

理由を示しています

スペースのため、シェルスクリプトコマンドで「Microsoft」という単語の後に分割されます。

答えて

7

スクリプトが同じディレクトリにあることがわかっている場合、単に使用:

do shell script presentDir & "test.py " user name "me" password "mypassword" with administrator privileges 

お知らせスペースをtest.py後にクローズ引用符の前に。 test.pyではなく、文字列が/test.pyである必要があります。わかりません。

私はhttp://developer.apple.com/library/mac/#technotes/tn2065/_index.htmlからこの情報を得ました。

編集: 「/ユーザ/ mymac /ドキュメント/マイクロソフト\ユーザー:あなたは、バックスラッシュ「\」などでスペースをエスケープしていなかったので、あなたの最初のスクリプトは動作しませんでした

set py to "test.py " 
set calldir to quoted form of workingDir & py 
do shell script calldir 
+0

test.pyはpresentDirと同じディレクトリにあるので、"/users/mymac/Documents/'Microsoft User Data'/test.py "のシェルでの使用法を無視するにはどうしたらいいですか?スクリプトコマンド。 – thinkcool

+0

私はあなたの質問を理解していますか分かりませんが、あなたが意味するものを推測して編集しましたか? – agf

+0

私は質問を更新しました.. – thinkcool

0

をお試しください\ data/test.py "

関連する問題