Het commando: "CALL" staat aan Windows 12, 11, 10, .. , MS Server 2025, 2022, 2019, .. beschikbaar
De voorbeelden voor het commando "CALL"
De
`CALL`opdracht in de Windows-opdrachtprompt wordt gebruikt om de uitvoering van een ander batchscript binnen een batchscript te starten. Hier zijn enkele voorbeelden met commentaar:
Voorbeeld 1: Eenvoudige aanroep naar een ander batchscript:
CALL ander_script.bat
Beschrijving: Met deze opdracht wordt het batchscript aangeroepen
`ander_script.bat`op. De
`CALL`De opdracht wordt gebruikt om ervoor te zorgen dat de besturing terugkeert naar het oorspronkelijke script nadat het aangeroepen script is voltooid.
Voorbeeld 2: parameters doorgeven aan het opgeroepen script:
CALL ander_script.bat Parameter1 Parameter2
Beschrijving: De parameters staan hier
`Parameter1`En
`Parameter2`doorgegeven aan het aangeroepen batchscript. Binnenin
`ander_script.bat`kan deze parameters gebruiken
`%1`,
`%2`, enz. kunnen worden opgehaald.
Voorbeeld 3: Gebruik van`%*`voor alle doorgegeven parameters:
CALL ander_script.bat %*
Beschrijving:*`%`vertegenwoordigt alle doorgegeven parameters. Dit commando roept
`ander_script.bat`en geeft alle parameters door die aan het originele script zijn doorgegeven.
Voorbeeld 4: Controleer de retourwaarde van het aangeroepen script:
CALL ander_script.bat
IF ERRORLEVEL 1 (
ECHO Het aangeroepen script retourneerde een fout.
) ELSE (
ECHO Het aangeroepen script is met succes uitgevoerd.
)
Beschrijving: Het aangeroepen batchscript is hier te vinden
`ander_script.bat`uitgevoerd. Dan met
`ERRORLEVEL`controleert of het script een fout retourneert.
Voorbeeld 5: Gebruik van`GOTO`na het gesprek:
CALL ander_script.bat
GOTO Doorgaan
:Doorgaan
ECHO Het script is succesvol aangeroepen.
Beschrijving: Hier is het batchscript
`ander_script.bat`aangeroepen, en na de oproep wordt de uitvoering het spronglabel
`Doorgaan`doorgestuurd.
De
`CALL`De opdracht is vooral handig als u een ander script wilt aanroepen vanuit een batchscript en ervoor wilt zorgen dat de uitvoering terugkeert naar het oorspronkelijke script. Dit is belangrijk om door te gaan met het originele script nadat u het andere script hebt aangeroepen.
"CALL" Fragment uit Microsoft Windows Help
Microsoft Windows [Version 10.0.19045.3693]
(c) Copyright 1985-2023 Microsoft Corp.
C:\\Windows>
Een batchprogramma aanroepen vanuit een ander batchprogramma.
CALL [station:][pad]bestandsnaam [batchparameters]
batchparameters Bepaalt eventuele opdrachtregelinformatie die
voor
het uitvoeren van het batchprogramma vereist
is.
Als opdrachtextensies zijn ingeschakeld, verandert CALL als
volgt:
De opdracht CALL accepteert nu namen als het doel van CALL. De
syntaxis is:
CALL :naam argumenten
Een nieuwe batchbestandscontext wordt gemaakt met de opgegeven
argumenten
en besturing wordt overgegeven aan de opdracht na de opgegeven
naam. U moet
twee keer 'afsluiten' door in twee keer het einde van het
batchscriptbestand
te bereiken. Als u voor het eerst het einde bereikt, wordt de
besturing
geretourneerd naar een punt vlak na de CALL-opdracht. De tweede
keer wordt
het batchscript afgesloten. Typ GOTO /? voor een beschrijving van
de
GOTO :EOF-extensie waarmee u kunt 'terugkeren' uit een
batchscript.
Daarnaast is uitbreiding van argumentverwijzingen in een
batchscript(%0,
%1, etc.) als volgt gewijzigd:
%* in een batchscript verwijst naar alle argumenten (b.v. %1
%2 %3
%4 %5 ...)
Vervanging van batchparameters (%n) is verbeterd. U kunt nu
de volgende
extra syntaxis gebruiken:
%~1 - breidt %1 uit waarbij aanhalingstekens (")
worden
verwijderd
%~f1 - breidt %1 uit naar een fully-qualified-padnaam
%~d1 - breidt %1 alleen uit naar een stationsletter
%~p1 - breidt %1 alleen uit naar een pad
%~n1 - breidt %1 alleen uit naar een bestandsnaam
%~x1 - breidt %1 alleen uit naar een bestandsextensie
%~s1 - uitgebreid pad bevat alleen korte namen
%~a1 - breidt %1 uit naar bestandskenmerken van
bestand
%~t1 - breidt %1 uit naar datum/tijd van bestand
%~z1 - breidt %1 uit naar grootte van bestand
%~$PATH:1 - doorzoekt de mappen in omgevingsvariabele PATH
en breidt
%1 uit naar de fully-qualified-naam van het
eerste
gevonden bestand. Als de naam van de
omgevingsvariabele
niet is opgegeven of als het bestand niet
wordt gevonden,
wordt deze wijzigingstoets uitgebreid naar de
lege
tekenreeks.
De wijzigingstoetsen kunnen worden gecombineerd om
samengestelde
resultaten te krijgen:
%~dp1 - breidt %1 alleen uit naar een stationsletter en
pad
%~nx1 - breidt %1 alleen uit naar een bestandsnaam en
extensie
%~dp$PATH:1 - doorzoekt de mappen in omgevingsvariabele PATH
naar %1
en breidt uit naar de stationsletter en het
pad van het
eerste gevonden bestand
%~ftza1 - breidt %1 uit naar een op DIR lijkende
uitvoerregel
In bovenstaande voorbeelden kunnen %1 en PATH worden
vervangen door
andere geldige waarden. De syntaxis %~ wordt afgesloten door
een
geldig argumentnummer. De wijzigingstoetsen %~ mogen niet
samen worden
gebruikt met %*.
Belangrijke informatie, tips voor het "CALL" commando
Ja, er zijn enkele belangrijke punten en overwegingen waarmee u rekening moet houden bij het maken van de
`CALL`opdracht in de Windows-opdrachtprompt:
1.
Gebruik met batchscripts: The
`CALL`De opdracht wordt doorgaans gebruikt om een ander batchscript binnen een batchscript aan te roepen. Houd er rekening mee dat dit mogelijk niet nodig is bij het uitvoeren van andere bestandstypen.
2.
Controleer de retourwaarde: Als het aangeroepen batchscript een retourwaarde retourneert, kunt u dit doen met
`ERRORLEVEL`rekening. Let daar op
`ERRORLEVEL`weerspiegelt alleen de retourwaarde van de laatst uitgevoerde opdracht.
CALL ander_script.bat
IF ERRORLEVEL 1 (
ECHO Het aangeroepen script retourneerde een fout.
) ELSE (
ECHO Het aangeroepen script is met succes uitgevoerd.
)
3.
Correct gebruik van parameters: Let op het juiste gebruik van parameters bij het doorgeven van parameters aan het opgeroepen batchscript. De parameters kunnen worden gebruikt in het opgeroepen script
`%1`,
`%2`, enz. kunnen worden opgehaald.
CALL ander_script.bat Parameter1 Parameter2
4.
Syntaxis en spaties: Zorg ervoor dat de syntaxis correct is en dat er geen onnodige spaties zijn. Dit kan tot fouten leiden.
5.
Veiligheidsoverwegingen: Bij gebruik
`CALL`Bij scripts die parameters bevatten, is het belangrijk ervoor te zorgen dat de doorgegeven parameters op de juiste manier worden gevalideerd en verwerkt om beveiligingsrisico's te minimaliseren.
6.
Monitoring en logboekregistratie: Bij het ontwikkelen van batchscripts die andere scripts aanroepen, is het vaak raadzaam om monitoring- en logboekregistratiemethoden te gebruiken om de uitvoering en mogelijke fouten te controleren.
7.
Vermijd oneindige lussen: Zorg ervoor dat u niet per ongeluk oneindige lussen maakt door batchscripts in een lus aan te roepen. Dit kan ertoe leiden dat scripts zichzelf steeds opnieuw aanroepen.
8.
Versiespecifieke verschillen: Houd er rekening mee dat de functionaliteit van de
`CALL`opdracht kan variëren afhankelijk van de versie van Windows. Het is raadzaam om de documentatie voor uw specifieke versie van Windows te raadplegen.
Houd rekening met deze overwegingen om het gebruik ervan te garanderen
`CALL`correct en veilig in uw batchscripts.