2011-01-31 18 views
0

としてドロップされたファイルの名前を渡します。このファイル名は、私はAppleScriptのでは初心者ですので、任意の助けをいただければ幸いです.APP(AppleScriptの)のAppleScriptは、.jarファイルを実行し、私は、引数としてファイル名を持っているjarファイルを実行したい引数

上にドロップされたファイルのいずれかでなければなりません!

ありがとうございました!

+0

重複質問:http://stackoverflow.com/questions/2184236/on-mac-os-how-to-get-the-アップルスクリプトにドロップされたファイルの名前 –

答えて

2

私はjarファイルを実行するためのAppleScriptコマンドがあることを疑うので、代わりにあなたはAppleScriptの内からシェルスクリプトのsnippitを実行することができます。例:

on open jarFiles 
    tell application "Finder" 
     repeat with currentJar in jarFiles 
      set the shellScript to "java -jar " & ¬ 
       quoted form of ((name of currentJar) as text) 
      do shell script shellScript 
     end repeat 
    end tell 
end open 

この例では、ドロップされた1つまたは複数のjarファイルが開きます。コードの明示的な行ことに注意してください、アプリケーション「ファインダー」を伝え、成功しcurrentJarの名前を取得する必要がある(Finderのエイリアスタイプが使用されることを意味します。

オープンハンドラのですこのことができ、ユーザはAppleScriptの上に1つまたは複数のファイルをドロップしイベント上で実行されるハンドラ(ファイルは最初の引数にpasedされた状態で、この場合は名前jarファイル)。

希望。

+0

ありがとう!しかし、実際には私がドロップするjarファイルではありません。私は1つのjarfileを持っており、このjarfileはファイル名を引数として取り除かなければなりません。私のスクリプトに "1.txt"を落としたとすると、スクリプトはドロップされたファイルの名前を引数として特定のjarfileを実行することになっています。しかし、これは大きな違いはないと思う、私はちょうどあなたの提案を調整する!再度、感謝します! – tzippy

+0

"java -jar bundleID.jar"&(currentFileの名前) "にshellScriptを設定してみましたが、" {エイリアス "Macintosh HD:pathtofile:file.name"}の項目1の名前は表示されませんユニコードテキストに変換する必要があります。 – tzippy

+0

これは、AppleScriptの基本的な「エイリアス」タイプと「Finder」アプリケーションの「エイリアス」タイプ(やや異なる)と関係があると思います。 Finderのタイプを使用したいので、このコードを "tellアプリケーション" Finderブロックに配置して、Finderの 'エイリアス'オブジェクトを明示的に使用するようにしてください。この変更を含めるために私の例を編集しました。 –

関連する問題