Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Anropar ett batchprogram från ett annat utan att stoppa det överordnade batchprogrammet. Anropskommandot accepterar etiketter som mål för anropet.
Anmärkning
Anropet har ingen effekt i kommandotolken när det används utanför ett skript eller en batchfil.
Syntax
call [drive:][path]<filename> [<batchparameters>]]
call [:<label> [<arguments>]]
Parameterar
Parameter | Beskrivning |
---|---|
[<drive>:][<path>]<filename> |
Anger platsen och namnet på det batchprogram som du vill anropa. Parametern <filename> krävs och måste ha ett .bat- eller .cmd-tillägg. |
<batchparameters> |
Anger all kommandoradsinformation som krävs av batchprogrammet. |
:<label> |
Anger den etikett som du vill att en batchprogramkontroll ska hoppa till. |
<arguments> |
Anger den kommandoradsinformation som ska skickas till den nya instansen av batchprogrammet med början vid :<label> . |
/? | Visar hjälp i kommandotolken. |
Batchparametrar
Argumentreferenserna för batchskript (%0, %1, ...) visas i följande tabeller.
Om du använder värdet %* i ett batchskript refererar du till alla argument (till exempel %1, %2, %3...).
Du kan använda följande valfria syntaxer som ersättningar för batchparametrar (%n):
Batch-parameter | Beskrivning |
---|---|
%~1 | Expanderar %1 och tar bort omgivande citattecken. |
%~f1 | Expanderar %1 till en fullständigt kvalificerad sökväg. |
%~d1 | Expanderar endast%1 till en enhetsbeteckning. |
%~p1 | Expanderar endast%1 till en sökväg. |
%~n1 | Expanderar endast%1 till ett filnamn. |
%~x1 | Expanderar endast%1 till ett filnamnstillägg. |
%~s1 | Expanderar %1 till en fullständigt kvalificerad sökväg som endast innehåller korta namn. |
%~a1 | Expanderar %1 till filattributen. |
%~t1 | Expanderar %1 till datum och tid för filen. |
%~z1 | Expanderar %1 till filens storlek. |
%~$PATH:1 | Söker igenom katalogerna i path-miljövariabeln och expanderar %1 till det fullständigt kvalificerade namnet på den första katalogen som hittades. Om miljövariabelnamnet inte har definierats eller om filen inte hittas av sökningen expanderas den här modifieraren till den tomma strängen. |
I följande tabell visas hur du kan kombinera modifierare med batchparametrarna för sammansatta resultat:
Batch-parameter med modifierare | Beskrivning |
---|---|
%~dp1 | Expanderar %1 endast till en enhetsbeteckning och sökväg. |
%~nx1 | Expanderar endast%1 till ett filnamn och filnamnstillägg. |
%~dp$SÖKVÄG:1 | Söker i katalogerna i PATH-miljövariabeln efter %1och expanderar sedan till enhetsbeteckningen och sökvägen för den första katalogen som hittades. |
%~ftza1 | Expanderar %1 för att visa utdata som liknar dir-kommandot . |
I exemplen ovan kan %1 och PATH ersättas med andra giltiga värden. Syntaxen %~ avslutas med ett giltigt argumentnummer. Det %~ går inte att använda modifierarna med %*.
Anmärkningar
Använda batchparametrar:
Batchparametrar kan innehålla all information som du kan skicka till ett batchprogram, inklusive kommandoradsalternativ, filnamn, batchparametrar %0 via %9och variabler (till exempel %baud%).
Med hjälp av parametern
<label>
:Genom att använda anropet med parametern
<label>
skapar du en ny batchfilkontext och skickar kontrollen till -instruktionen efter den angivna etiketten. Första gången batchfilens slut påträffas (det vill säga när du har hoppat till etiketten) återgår kontrollen till -instruktionen efter anropsinstrukturen. Andra gången batchfilens slut påträffas avslutas batchskriptet.Använda pipes och omdirigeringssymboler:
Använd inte rör
(|)
eller omdirigeringssymboler (<
eller>
) med anrop.Göra ett rekursivt anrop
Du kan skapa ett batchprogram som anropar sig själv. Du måste dock ange ett avslutningsvillkor. Annars kan de överordnade och underordnade batchprogrammen loopa oändligt.
Arbeta med kommandotillägg
Om kommandotillägg är aktiverade kan du anropa accepterar
<label>
som mål för anropet. Rätt syntax ärcall :<label> <arguments>
.
Exempel
Om du vill köra checknew.bat program från ett annat batchprogram skriver du följande kommando i det överordnade batchprogrammet:
call checknew
Om det överordnade batchprogrammet accepterar två batchparametrar och du vill att de parametrarna ska skickas till checknew.batskriver du följande kommando i det överordnade batchprogrammet:
call checknew %1 %2