Kommandoen: "CALL" er tændt Windows 12, 11, 10, .. , MS Server 2025, 2022, 2019, .. tilgængelig
Eksempler på kommandoen "CALL"
Det
`CALL`kommando i Windows Kommandoprompt bruges til at starte udførelse af et andet batchscript i et batchscript. Her er nogle eksempler med kommentarer:
Eksempel 1: Simpelt opkald til et andet batchscript:
CALL Andet_manuskript.bat
Beskrivelse: Denne kommando kalder batchscriptet
`Andet_manuskript.bat`på. Det
`CALL`kommandoen bruges til at sikre, at kontrol vender tilbage til det originale script, efter at det kaldte script er fuldført.
Eksempel 2: Overførsel af parametre til det kaldte script:
CALL Andet_manuskript.bat Parameter1 Parameter2
Beskrivelse: Parametrene er her
`Parameter1`og
`Parameter2`videregivet til det kaldte batchscript. Inden for
`Andet_manuskript.bat`kan bruge disse parametre
`%1`,
`%2`osv. kan hentes.
Eksempel 3: Brug af`%*`for alle beståede parametre:
CALL Andet_manuskript.bat %*
Beskrivelse:*`%`repræsenterer alle beståede parametre. Denne kommando kalder
`Andet_manuskript.bat`og sender det alle de parametre, der blev overført til det originale script.
Eksempel 4: Tjek returværdien af det kaldte script:
CALL Andet_manuskript.bat
IF ERRORLEVEL 1 (
ECHO Det kaldede script returnerede en fejl.
) ELSE (
ECHO Det kaldte script blev udført.
)
Beskrivelse: Batchscriptet kaldet er her
`Andet_manuskript.bat`henrettet. Så med
`ERRORLEVEL`kontrollerer, om scriptet returnerede en fejl.
Eksempel 5: Brug af`GOTO`efter opkaldet:
CALL Andet_manuskript.bat
GOTO Blive ved
:Blive ved
ECHO Scriptet blev kaldt med succes.
Beskrivelse: Her er batchscriptet
`Andet_manuskript.bat`kaldet, og efter opkaldet bliver udførelse springetiketten
`Blive ved`videresendt.
Det
`CALL`kommandoen er især nyttig, når du vil kalde et andet script fra et batch-script og sikre, at eksekveringen vender tilbage til det originale script. Dette er vigtigt for at fortsætte det originale script efter at have kaldt det andet script.
"CALL" Uddrag fra Microsoft Windows Hjælp
Microsoft Windows [Version 10.0.19045.3693]
(c) Copyright 1985-2023 Microsoft Corp.
C:\\Windows>
Kalder et batchprogram fra et andet.
CALL [drev:][sti]filnavn [batchparametre]
batchparametre Angiver kommandolinjeinformation, som kræves
af
batchprogrammet.
Hvis kommandoudvidelserne er aktiveret, ændres kommandoen CALL på
følgende
måde:
Kommandoen CALL accepterer nu etiketter som destinationer for
CALL.
Syntaksen er:
CALL :etiket argumenter
Der oprettes en ny batch-filkontekst med de angivne argumenter,
og
kontrollen overgives til sætningen, når etiketten er angivet. Du
skal
"afslutte" to gange i slutningen af batch-scriptfilen. Første
gang, du
læser slutningen, returneres kontrollen til umiddelbart efter
CALL-sætningen. Anden gang afsluttes batch -scriptet. Skriv GOTO
/? for
at få en beskrivelse af udvidelsen GOTO :EOF, som giver dig
mulighed
for at "returnere" fra et batchscript.
Desuden er udvidelse af henvisninger til batchscriptargumenter
(%0, %1,
etc.) ændret på følgende måde:
%* i et batchscript henviser til alle argumenterne (f.eks. %1
%2 %3
%4 %5 ...)
Erstatning af batchparametre (%n) er udvidet. Du kan nu
benytte
følgende valgfrie syntaks:
%~1 - udvider %1 og fjerner omgivende
anførselstegn (")
%~f1 - udvider %1 til et fuldt stinavn
%~d1 - udvider %1 til kun at omfatte et drevbogstav
%~p1 - udvider %1 til kun at omfatte en sti
%~n1 - udvider %1 til kun at omfatte et filnavn
%~x1 - udvider %1 til kun at omfatte et filtypenavn
%~s1 - udvider stien til udelukkende at indeholde
korte navne
%~a1 - udvider %1 til filattributter
%~t1 - udvider %1 til filens dato/klokkeslæt
%~z1 - udvider %1 til filens størrelse
%~$PATH:1 - søger i mapperne angivet i miljøvariablen
PATH
og udvider %1 til det fulde navn på den
første, der
findes. Hvis miljøvariabelnavnet ikke
defineres, eller
filen ikke findes ved søgningen, udvides
denne
modifikator til den tomme streng
Modifikatorerne kan kombineres og give sammensatte
resultater:
%~dp1 - udvider %1 til kun at omfatte et
drevbogstav
og en sti
%~nx1 - udvider %1 til kun at omfatte et filnavn og
et filtypenavn
%~dp$PATH:1 - søger i mapperne angivet i PATH-
miljøvariablerne for %1 og udvider til
drevbogstavet og stien for den første, der
findes.
%~ftza1 - udvider %1 til en DIR-lignende outputlinje
I ovennævnte eksempler kan %1 og PATH erstattes af andre
gyldige værdier. Syntaksen %~ afsluttes af et gyldigt
argument-
antal. Modifikatorerne af typen %~ kan ikke bruges sammen med
%*
Vigtig information, tip til kommandoen "CALL"
Ja, der er nogle vigtige punkter og overvejelser, som du bør huske på, når du laver
`CALL`kommando i Windows kommandoprompt:
1.
Brug med batch-scripts: Den
`CALL`kommando bruges typisk til at kalde et andet batchscript i et batchscript. Bemærk, at det muligvis ikke er nødvendigt, når du kører andre filtyper.
2.
Tjek returværdi: Hvis batchscriptet kaldet returnerer en returværdi, kan du gøre det med
`ERRORLEVEL`kontrollere. Noter det
`ERRORLEVEL`afspejler kun returværdien af den sidst udførte kommando.
CALL Andet_manuskript.bat
IF ERRORLEVEL 1 (
ECHO Det kaldede script returnerede en fejl.
) ELSE (
ECHO Det kaldte script blev udført.
)
3.
Korrekt brug af parametre: Vær opmærksom på den korrekte brug af parametre, når du sender parametre til det kaldte batchscript. Parametrene kan bruges i det kaldte script
`%1`,
`%2`osv. kan hentes.
CALL Andet_manuskript.bat Parameter1 Parameter2
4.
Syntaks og mellemrum: Sørg for, at syntaksen er korrekt, og at der ikke er unødvendige mellemrum. Dette kan føre til fejl.
5.
Sikkerhedshensyn: Ved brug
`CALL`I scripts, der indeholder parametre, er det vigtigt at sikre, at de passerede parametre er korrekt valideret og behandlet for at minimere sikkerhedsrisici.
6.
Overvågning og logning: Når man udvikler batch-scripts, der kalder andre scripts, er det ofte tilrådeligt at bruge overvågnings- og logningsmetoder til at overvåge eksekvering og mulige fejl.
7.
Undgå uendelige løkker: Vær forsigtig med ikke at oprette uendelige løkker ved et uheld ved at kalde batch-scripts i en løkke. Dette kan resultere i, at scripts kalder sig selv igen og igen.
8.
Versionsspecifikke forskelle: Bemærk, at funktionaliteten af
`CALL`kommandoen kan variere afhængigt af versionen af Windows. Det er tilrådeligt at konsultere dokumentationen til din specifikke version af Windows.
Tag disse overvejelser i betragtning for at sikre brugen af
`CALL`korrekt og sikkert i dine batch-scripts.