Kommandoen: "CALL" er på Windows 12, 11, 10, .. , MS Server 2025, 2022, 2019, .. tilgjengelig
Eksemplene for kommandoen "CALL"
De
`CALL`kommando i Windows ledetekst brukes til å starte kjøring av et annet batchskript i et batchskript. Her er noen eksempler med kommentarer:
Eksempel 1: Enkelt kall til et annet batchskript:
CALL annen_manus.bat
Beskrivelse: Denne kommandoen kaller batchskriptet
`annen_manus.bat`på. De
`CALL`kommandoen brukes for å sikre at kontrollen går tilbake til det opprinnelige skriptet etter at det kalte skriptet er fullført.
Eksempel 2: Overføring av parametere til det kalte skriptet:
CALL annen_manus.bat Parameter1 Parameter2
Beskrivelse: Parametrene er her
`Parameter1`og
`Parameter2`sendt til det kalte batchskriptet. Innenfor
`annen_manus.bat`kan bruke disse parameterne
`%1`,
`%2`, etc. kan hentes.
Eksempel 3: Bruk av`%*`for alle parametere som er bestått:
CALL annen_manus.bat %*
Beskrivelse:*`%`representerer alle passerte parametere. Denne kommandoen kaller
`annen_manus.bat`og sender den alle parameterne som ble sendt til det originale skriptet.
Eksempel 4: Sjekk returverdien til det kalte skriptet:
CALL annen_manus.bat
IF ERRORLEVEL 1 (
ECHO Skriptet som ble kalt returnerte en feil.
) ELSE (
ECHO Det oppkalte skriptet ble utført.
)
Beskrivelse: Batchskriptet som kalles er her
`annen_manus.bat`henrettet. Så med
`ERRORLEVEL`sjekker om skriptet returnerte en feil.
Eksempel 5: Bruk av`GOTO`etter samtalen:
CALL annen_manus.bat
GOTO Fortsette
:Fortsette
ECHO Manuset ble kalt vellykket.
Beskrivelse: Her er batchskriptet
`annen_manus.bat`kalt, og etter anropet blir kjøringen hoppetiketten
`Fortsette`videresendt.
De
`CALL`kommandoen er spesielt nyttig når du vil kalle et annet skript fra et batch-skript og sikre at kjøringen går tilbake til det opprinnelige skriptet. Dette er viktig for å fortsette det originale skriptet etter å ha kalt det andre skriptet.
"CALL" Utdrag fra Microsoft Windows Hjelp
Microsoft Windows [Version 10.0.19045.3693]
(c) Copyright 1985-2023 Microsoft Corp.
C:\\Windows>
Starter en satsvis fil fra en annen.
CALL [stasjon:][bane]filnavn [satsvis-parametere]
satsvis-parametere Angir den informasjonen som trengs på
kommandolinjen
i det satsvise programmet.
Hvis kommandoutvidelser er aktivert, får CALL følgende endringer:
CALL-kommandoen godtar nå etiketter som målet til et CALL-kall.
Syntaksen er:
CALL :etikett argumenter
En ny kontekst for satsvise filer opprettes med de angitte
argumentene, og
kontroll gis til setningen etter den angitte etiketten. Du må
"avslutte" to
ganger ved å nå slutten på den satsvise skriptfilen to ganger.
Første gangen
du når slutten, vil kontrollen returnere til rett etter CALL-
setningen. Den
andre gangen vil det satsvise skriptet avsluttes. Skriv GOTO /?
for å se en
beskrivelse av GOTO :EOF-utvidelsen som lar deg "returnere" fra
et satsvist
skript.
I tillegg er utvidelse av argumentreferanser i et satsvist skript
(%0, %1
osv.) endret som følger:
%* i et satsvist skript refererer til alle argumenter (f.eks.
%1 %2
%3 %4 %5 ...)
Utbytting av parametere for satsvise filer (%n) er forbedret.
Du kan
nå bruke følgende valgfrie syntaks:
%~1 - Utvider %1, og fjerner omsluttende
anførselstegn (")
%~f1 - Utvider %1 til et fullstendig banenavn
%~d1 - Utvider %1 bare til en stasjonsbokstav
%~p1 - Utvider %1 bare til en bane
%~n1 - Utvider %1 bare til et filnavn
%~x1 - Utvider %1 bare til en filtype
%~s1 - Utvidet bane inneholder bare korte navn
%~a1 - Utvider %1 til filattributter
%~t1 - Utvider %1 til filens dato/klokkeslett
%~z1 - Utvider %1 til filens størrelse
%~$PATH:1 - Søker gjennom mappene listet opp i
miljøvariabelen
PATH, og utvider %1 til det fullstendige
navnet på
den første som blir funnet. Hvis
miljøvariabelen ikke
er definert, eller filen ikke blir funnet i
søket,
utvides denne modifikatoren til den tomme
strengen.
Modifikatorene kan kombineres for å få sammensatte
resultater:
%~dp1 - Utvider %1 bare til stasjonsbokstav og bane
%~nx1 - Utvider %1 bare til et filnavn og -
etternavn
%~dp$PATH:1 - Søker gjennom mappene listet opp i
miljøvariabelen
PATH etter %1, og utvider til
stasjonsbokstaven og
banen til den første filen som blir funnet.
%~ftza1 - Utvider %1 til en DIR-lignende utdatalinje
I eksemplene ovenfor kan %1 og PATH erstattes med andre
gyldige verdier.
Syntaksen %~ termineres med et gyldig argumenttall.
Modifikatorene som
inneholder %~ kan ikke brukes sammen med %*
Viktig informasjon, tips for "CALL"-kommandoen
Ja, det er noen viktige punkter og hensyn du bør huske på når du lager
`CALL`kommando i Windows ledetekst:
1.
Bruk med batch-skript: The
`CALL`kommandoen brukes vanligvis til å kalle et annet batchskript i et batchskript. Merk at det kanskje ikke er nødvendig når du kjører andre filtyper.
2.
Sjekk returverdi: Hvis batchskriptet kalt returnerer en returverdi, kan du gjøre det med
`ERRORLEVEL`Sjekk. Noter det
`ERRORLEVEL`reflekterer bare returverdien til den sist utførte kommandoen.
CALL annen_manus.bat
IF ERRORLEVEL 1 (
ECHO Skriptet som ble kalt returnerte en feil.
) ELSE (
ECHO Det oppkalte skriptet ble utført.
)
3.
Riktig bruk av parametere: Vær oppmerksom på riktig bruk av parametere når du sender parametere til det kalte batchskriptet. Parametrene kan brukes i det kalte skriptet
`%1`,
`%2`, etc. kan hentes.
CALL annen_manus.bat Parameter1 Parameter2
4.
Syntaks og mellomrom: Sørg for at syntaksen er riktig og at det ikke er unødvendige mellomrom. Dette kan føre til feil.
5.
Sikkerhetshensyn: Ved bruk
`CALL`I skript som inneholder parametere, er det viktig å sikre at parameterne som sendes er riktig validert og behandlet for å minimere sikkerhetsrisikoen.
6.
Overvåking og logging: Når man utvikler batchskript som kaller andre skript, er det ofte lurt å bruke overvåkings- og loggingsmetoder for å overvåke utførelse og mulige feil.
7.
Unngå uendelige løkker: Vær forsiktig så du ikke ved et uhell oppretter uendelige løkker ved å kalle opp batchskript i en løkke. Dette kan føre til at manus kaller seg selv om og om igjen.
8.
Versjonsspesifikke forskjeller: Merk at funksjonaliteten til
`CALL`kommandoen kan variere avhengig av versjonen av Windows. Det anbefales å konsultere dokumentasjonen for din spesifikke versjon av Windows.
Ta disse hensyn for å sikre bruk av
`CALL`riktig og trygt i batch-skriptene dine.