Funktioner kan använda något av följande tre sätt att hantera flera filargument:
Funktionen utförs en gång för varje argument: När en EXEC_STRING innehåller ett enstaka filargument och flera filargument tillhandahålls genom att flera filer släpps på funktionsikonen, körs funktionen separat för varje filargument.
Om det t ex finns flera filargument för följande funktionsdefinition:
ACTION DisplayScreenImage { EXEC_STRING xwud -in %Arg_1% ... }
körs funktionen DisplayScreenImage upprepade gånger.
Funktionen kan använda två eller flera icke utbytbara filargument, exempelvis:
xsetroot -cursor markörfil maskeringsfil
som kräver två unika filer i en viss ordning.
Funktionen kan utföra samma kommando för varje filargument, exempelvis:
pr fil [fil ...]
som skriver ut en eller flera filer.
Använd någon av följande syntaxer:
Om du vill att funktionen ska fråga efter filnamnen använder du den här syntaxen för varje filargument:
%(File)"ledtext"%
Använd en särskild ledtext för varje argument.
Följande exekveringssträng frågar efter två filer.
EXEC_STRING xsetroot -cursor %(File)"Markörbitmapp:"% \ %(File)"Maskbitmapp:"%
Om följande syntax används för filargument, accepteras släppta filer:
%Arg_n%
Använd olika värden på n för varje argument. Exempel:
EXEC_STRING diff %Arg_1% %Arg_2%
Använd någon av följande syntaxer:
Om du vill skapa en funktion som accepterar släppta filer och som skapar ett kommando av formen kommando fil 1 fil 2 ..., ska följande syntax för filargument användas:
%Args%
Om du vill skapa en funktion som accepterar flera släppta filer, eller visar en ledtext för en enstaka fil när du dubbelklickar på den, använder du följande syntax för filargumenten:
%Arg_1"ledtext"% %Args%
Funktionen startar kommandot i formatet: kommando fil 1 fil 2 ....
Den här exekveringssträngen skapar en funktion som kör:
pr fil 1 fil 2
med flera filargument.
EXEC_STRING pr %Args%
Den här exekveringssträngen skapar en funktion som liknar den i föregående exempel, med undantaget att den visar en ledtext när du dubbelklickar (inga filargument).
EXEC_STRING pr %Arg_1"Fil(er) som ska skrivas ut:"% %Args%
För att acceptera flera argument för släppta filer och köra en kommandorad i formatet:
kommando fil 1 fil 2 ...
använder du syntaxen:
%Args%
Den här exekveringssträngen kör skriptet Checkout för flera filer:
EXEC_STRING /usr/local/bin/Checkout \ %Arg_1"Vilken fil ska hämtas ut?"% %Args%