Komento: "CALL" on päällä Windows 12, 11, 10, .. , MS Server 2025, 2022, 2019, .. saatavilla
Esimerkit komennosta "CALL"
The
`CALL`-komentoa Windowsin komentokehotteessa käytetään toisen eräkomentosarjan suorittamisen käynnistämiseen eräkomentosarjassa. Tässä muutamia esimerkkejä kommentteineen:
Esimerkki 1: Yksinkertainen kutsu toiselle eräskriptille:
CALL muu_käsikirjoitus.bat
Kuvaus: Tämä komento kutsuu eräkomentosarjaa
`muu_käsikirjoitus.bat`päällä. The
`CALL`-komentoa käytetään varmistamaan, että ohjaus palaa alkuperäiseen komentosarjaan kutsutun komentosarjan valmistumisen jälkeen.
Esimerkki 2: Parametrien välittäminen kutsutulle skriptille:
CALL muu_käsikirjoitus.bat Parameter1 Parameter2
Kuvaus: Parametrit ovat täällä
`Parameter1`ja
`Parameter2`siirretty kutsuttuun eräkomentosarjaan. Sisällä
`muu_käsikirjoitus.bat`voi käyttää näitä parametreja
`%1`,
`%2`jne. voidaan hakea.
Esimerkki 3: Käyttö`%*`kaikille hyväksytyille parametreille:
CALL muu_käsikirjoitus.bat %*
Kuvaus:*`%`edustaa kaikkia hyväksyttyjä parametreja. Tämä komento kutsuu
`muu_käsikirjoitus.bat`ja välittää sille kaikki parametrit, jotka välitettiin alkuperäiselle skriptille.
Esimerkki 4: Tarkista kutsutun skriptin palautusarvo:
CALL muu_käsikirjoitus.bat
IF ERRORLEVEL 1 (
ECHO Kutsuttu komentosarja palautti virheen.
) ELSE (
ECHO Kutsuttu komentosarja suoritettiin onnistuneesti.
)
Kuvaus: Kutsuttu eräskripti on täällä
`muu_käsikirjoitus.bat`teloitettu. Sitten kanssa
`ERRORLEVEL`tarkistaa, palauttiko komentosarja virheen.
Esimerkki 5: Käyttö`GOTO`puhelun jälkeen:
CALL muu_käsikirjoitus.bat
GOTO Jatkaa
:Jatkaa
ECHO Skriptin kutsuminen onnistui.
Kuvaus: Tässä on eräskripti
`muu_käsikirjoitus.bat`kutsutaan, ja kutsun jälkeen suorituksesta tulee hyppytunniste
`Jatkaa`lähetetty eteenpäin.
The
`CALL`komento on erityisen hyödyllinen, kun haluat kutsua toista komentosarjaa eräkomentosarjasta ja varmistaa, että suoritus palaa alkuperäiseen komentosarjaan. Tämä on tärkeää alkuperäisen skriptin jatkamiseksi toisen skriptin kutsumisen jälkeen.
"CALL" Ote Microsoft Windowsin ohjeesta
Microsoft Windows [Version 10.0.19045.3693]
(c) Copyright 1985-2023 Microsoft Corp.
C:\\Windows>
Kutsuu komentojonotiedostoa toisen komentojonotiedoston
suorituksen aikana.
CALL [asema:][polku]tiedosto[komentojonoparametrit]
komentojonoparametrit Määrittää komentojono-ohjelman vaatimat
komentorivitiedot.
Jos komentolaajennukset ovat käytössä, CALL-komento muuttuu
seuraavasti:
CALL-komento hyväksyy nimien käytön CALL:n kohteena. Syntaksi
on seuraava:
CALL :nimi argumentit
Uusi komentojonotiedostokonteksti luodaan ja määritetyt
argumentit
välitetään nimeä seuraavalle komennolle. Komentojonosta täytyy
"poistua" kahdesti saavuttamalla tiedoston loppu kahdesti.
Ensimmäisellä kerralla ohjaus palaa CALL-komentoa seuraavalle
komennolle. Toisella kerralla tiedostosta poistutaan. Lisätietoja
GOTO :EOF -laajennuksesta, joka sallii "paluun" komentojonosta,
komennolla GOTO /?.
Lisäksi komentojonoargumenttien (%0, %1 jne) laajentamista
on muutettu seuraavasti:
%* komentojonossa viittaa kaikkiin argumentteihin (esim. %1
%2
%3 %4 %5 ...)
Komentojonoparametrien (%n) korvaaminen on kehittynyt.
Seuraavat valitsimet ovat käytettävissä:
%~1 - laajentaa %1:n poistaen mahdolliset
lainausmerkit (")
%~f1 - laajentaa %1:n täydelliseksi polkunimeksi.
%~d1 - laajentaa %1:n vain levyaseman kirjaimeksi.
%~p1 - laajentaa %1:n vain poluksi.
%~n1 - laajentaa %1:n vain tiedostonimeksi.
%~x1 - laajentaa %1:n vain tiedoston
laajennukseksi.
%~s1 - muuttaa n- ja x-valitsimet viittaamaan
lyhyisiin
tiedostonimiin pitkien sijasta.
%~a1 - laajentaa %1:n tiedostomääritteiksi
%~t1 - laajentaa %1:n tiedoston päiviämääräksi ja
ajaksi
%~z1 - expands %1 to size of file
%~$PATH:1 - suorittaa etsinnän PATH-
ympäristömuuttujassa
määriteltyyn polkuun ja laajentaa
ensimmäisen
löydetyn %1:n täydelliseksi polkunimeksi.
Jos ympäristömuuttujaa ei ole määritelty
tai
tiedostoa ei löydy, muuttuja saa arvokseen
tyhjän
merkkijonon.
Valitsimia voi yhdistellä yhdistelmätulosten saamiseksi:
%~dp1 - laajentaa %1:n vain levyn tunnukseksi ja
poluksi
%~nx1 - laajentaa %1:n vain tiedostonimeksi ja
-laajennukseksi.
%~dp$PATH:1 - suorittaa etsinnän PATH-
ympäristömuuttujassa
määriteltyyn polkuun, ja laajentaa
ensimmäisen
löydetyn %1:n levyn tunnukseksi ja
poluksi.
Edellisissä esimerkeissä käytetyt %1 ja PATH voidaan korvata
muilla
kelvollisilla arvoilla.
Määritteet voidaan yhdistää, jotta saadaan yhdistetty tulos:
%~dp1 - Laajentaa määritteen %1 vain aseman
kirjaimeksi
ja poluksi
%~nx1 - Laajentaa määritteen %1 vain
tiedostonimeksi
ja tiedostotunnisteeksi.
%~dp$PATH:1 - Etsii kansiot, jotka on lueteltu määritteen
%1 PATH-ympäristömuuttujassa, ja laajentaa
ensimmäisen löydetyn kansion aseman
kirjaimen
ja polun.
%~ftza1 - Laajentaa määritteen %1 DIR-kansiorakenteen
tulostusrivin mukaisesti.
Yllä olevassa esimerkissä %1 ja PATH voidaan korvata millä
tahansa kelvollisilla arvoilla. Kelvollinen argumenttinumero
keskeyttää syntaksin %~. %~-määritteitä ei voi käyttää
yhdessä %*-määritteiden kanssa.
Tärkeää tietoa, vinkkejä "CALL"-komennolle
Kyllä, on joitakin tärkeitä kohtia ja huomioita, jotka sinun tulee pitää mielessä tehdessäsi
`CALL`komento Windowsin komentokehotteessa:
1.
Käytä eräkomentosarjojen kanssa: `CALL`-komentoa käytetään tyypillisesti toisen eräkomentosarjan kutsumiseen eräkomentosarjan sisällä. Huomaa, että sitä ei välttämättä tarvita muita tiedostotyyppejä käytettäessä.
2.
Tarkista palautusarvo: Jos kutsuttu komentosarja palauttaa palautusarvon, voit tehdä sen
`ERRORLEVEL`tarkistaa. Ota huomioon, että
`ERRORLEVEL`heijastaa vain viimeksi suoritetun komennon palautusarvoa.
CALL muu_käsikirjoitus.bat
IF ERRORLEVEL 1 (
ECHO Kutsuttu komentosarja palautti virheen.
) ELSE (
ECHO Kutsuttu komentosarja suoritettiin onnistuneesti.
)
3.
Parametrien oikea käyttö: Kiinnitä huomiota parametrien oikeaan käyttöön, kun siirrät parametreja kutsuttuun eräkomentosarjaan. Parametreja voidaan käyttää kutsutussa skriptissä
`%1`,
`%2`jne. voidaan hakea.
CALL muu_käsikirjoitus.bat Parameter1 Parameter2
4.
Syntaksi ja välilyönnit: Varmista, että syntaksi on oikea ja ettei siinä ole tarpeettomia välilyöntejä. Tämä voi johtaa virheisiin.
5.
Turvallisuusnäkökohdat: Käytettäessä
`CALL`Parametreja sisältävissä skripteissä on tärkeää varmistaa, että välitetyt parametrit tarkistetaan ja käsitellään oikein turvallisuusriskien minimoimiseksi.
6.
Seuranta ja kirjaaminen: Kehitettäessä muita komentosarjoja kutsuvia komentosarjoja, on usein suositeltavaa käyttää seuranta- ja lokimenetelmiä suorituksen ja mahdollisten virheiden seuraamiseen.
7.
Vältä äärettömiä silmukoita: Varo luomasta vahingossa äärettömiä silmukoita kutsumalla eräskriptejä silmukassa. Tämä voi johtaa siihen, että skriptit kutsuvat itseään yhä uudelleen ja uudelleen.
8.
Versiokohtaiset erot: Huomaa, että
`CALL`komento voi vaihdella Windows-version mukaan. On suositeltavaa tutustua Windows-versiosi ohjeisiin.
Ota nämä seikat huomioon varmistaaksesi käytön
`CALL`oikein ja turvallisesti eräskripteissäsi.