私は画像のファインダーサービスとして追加されたこのAutomatorを持っています。2つの項目を入力して、オートマラー内のシェルスクリプトに入力します
すべては、ユーザーが一連の画像を選択し、サービスメニューでスクリプトを選択することから始まります。
スクリプトは、最初のユーザーに二つの質問を尋ねる:
on run {input, parameters}
choose from list {"iPhone", "iPad", "Mac"} with prompt "Choose Platform"
set platform to the result as string
display dialog "Choose File Name" default answer ""
set fileName to the result as string
// here it goes the magic line
return input
end run
場で私がアレイ上の2つのエントリとしてplatform
とfileName
を追加する行を追加します(「ここでは、それは魔法のラインを行きます」 ?)?AppleScript
に続くシェルスクリプトに渡されるパラメータ(input?)。
シェルスクリプトは、これらの行を持つことになります。
platform=$1
shift
fileName=$1
shift
for f in "[email protected]"; do
// files will be processed here
私はシェルスクリプトがそれを受信する方法がわからないけど、私の知る限り配列のようなものを受け取ることになっている理解し、構成しますプラットフォーム、ファイル名、選択されたファイルのリストの3つの項目から構成されています。私はシフトが入力の冒頭でアイテムを削除することを理解します。
set beginning of input to platform as string and fileName as string
とも
set beginning of input to platform
set beginning of input to fileName
//hoping it will push platform to the second position
が、どれも働いていない:私はこれらの行を試してみました。そのため
。
任意のアイデア
ブリリアント!感謝!!!!!!!!!!!!! – SpaceDog
@SpaceDogあなたが「プラットフォームへの入力の開始を設定しよう」と言ったので、私はテストを気にせず、逆のコースを取っただけです。しかし、私はちょうど 'set input to platform'の次の行に続いて' set input to fileName'をテストしたところ、私のために働いていました。結果は '{" iPhone "、" hello world "、エイリアス" Macintosh HD:Temp:image file 2.png "、別名" Macintosh HD:Temp:imagefile1.png "}'です。その後、Run Shell Scriptが期待どおりに動作しました。なぜそれがあなたの仕事をしていないのか分かりません。 – user3439894
それは変だけど私の解決策はうまくいかなかった。 – SpaceDog