アクションが複数のファイル引き数を処理するには、次の 3 つの方法があります。
アクションは繰り返し (各引き数に対しては 1 回ずつ) 実行できます。EXEC_STRING に単一のファイル引き数があり、アクション・アイコンに複数のファイルをドロップすることにより複数のファイル引き数が指定される場合、アクションはファイル引き数ごとに別々に実行されます。
たとえば、複数のファイル引き数が次のアクション定義に対して指定される場合、DisplayScreenImage アクションは繰り返し実行されます。
ACTION DisplayScreenImage { EXEC_STRING xwud -in %Arg_1% ... }
アクションは、2 つ以上の交換不可能なファイル引き数を使用できます。たとえば次の例では、特定の順番で並んでいる 2 つの一意のファイルが必要です。
xsetroot -cursor cursorfile maskfile
次の構文規約のいずれか 1 つを使用します。
アクションにファイル名をプロンプトさせる場合、ファイル引き数ごとに次の構文を使用します。
%(File)"prompt"%
引き数ごとに異なる prompt 文字列を使用します。
たとえば、次の実行文字列は 2 つのファイルをプロンプトします。
EXEC_STRING xsetroot -cursor %(File)"Cursor bitmap:"% ¥ %(File)"Mask bitmap:"%
ドロップされたファイルを受け取るには、各ファイル引き数に対して次の構文を使用します。
%Arg_n%
この場合、引き数ごとに異なる n 値を使用します。たとえば次のようになります。
EXEC_STRING diff %Arg_1% %Arg_2%
次の構文規約のいずれか 1 つを使用します。
ドロップされたファイルを受け取り、command file 1 file 2 ... という形式でコマンドを発行するアクションを作成するには、ファイル引き数に対して次の構文を使用します。
%Args%
複数のドロップされたファイルを受け取る、またはダブルクリックしたときに単一ファイルのプロンプトを表示するアクションを作成するには、ファイル引き数に対して次の構文を使用します。
%Arg_1"prompt"% %Args%
アクションは、command file 1 file 2 ... という形式でコマンドを発行します。
次の実行文字列は、前の例と似たアクションを作成しますが、この例のアクションをダブルクリックするとプロンプトを表示します (ファイル引き数はありません)。
EXEC_STRING pr %Arg_1"File(s) to print:"% %Args%
複数のドロップされたファイル引き数を受け取り、command file 1 file 2 ... という形式のコマンド行を実行するには、次の構文を使用します。
%Args%
次の実行文字列は、複数のファイルに対して Checkout という名前のスクリプトを実行します。
EXEC_STRING /usr/local/bin/Checkout ¥ %Arg_1"Check out what file?"% %Args%