Komento: "ENDLOCAL" on päällä Windows 12, 11, 10, .. , MS Server 2025, 2022, 2019, .. saatavilla
Esimerkit komennosta "ENDLOCAL"
The
`ENDLOCAL`-komentoa käytetään Windowsin komentokehotteessa lopettamaan paikalliset ympäristömuuttujat, jotka liittyvät
`SETLOCAL`komento aloitettiin. Tässä on joitain esimerkkejä:
Esimerkki 1: Käynnistä ja pysäytä paikallinen ympäristö:
@ECHO OFF
SETLOCAL
SET Name=John
ECHO Paikallisen ympäristön sisällä: %Name%
ENDLOCAL
ECHO Paikallisen alueen ulkopuolella: %Name%
Kuvaus: Tämä esimerkki aloittaa paikallisen ympäristön
`SETLOCAL`, määrittää paikallisen muuttujan (
`Name`), tulostaa arvon paikallisen ympäristön sisällä ja ulkopuolella ja poistuu sitten paikallisesta ympäristöstä
`ENDLOCAL`.
Esimerkki 2: ENDLOCALin käyttö silmukassa:
@ECHO OFF
FOR /L %%A IN (1, 1, 3) DO (
SETLOCAL
SET Counter=%%A
ECHO Silmukan sisällä: %Counter%
ENDLOCAL
)
ECHO Silmukan ulkopuolella: %Counter%
Kuvaus: Tässä
`SETLOCAL`käytetään silmukassa paikallisen ympäristön luomiseen.
`ENDLOCAL`sitten päättää paikallisen ympäristön jokaisen silmukan iteraation lopussa.
Esimerkki 3: Paikallinen ympäristö palautusarvon kanssa:
@ECHO OFF
CALL :LocalFunction
ECHO Ei toimi: %ReturnValue%
GOTO :EOF
:LocalFunction
SETLOCAL
SET ReturnValue=Tämä on palautusarvo
ENDLOCAL & SET ReturnValue=%ReturnValue%
GOTO :EOF
Kuvaus: Toiminto (
`:LocalFunction`) luotu paikallisessa ympäristössä
`SETLOCAL`alkaa ja kanssa
`ENDLOCAL`lähetin. Palautusarvoa käytetään funktion ulkopuolella.
Esimerkki 4: ENDLOCALin käyttäminen erätiedostossa:
@ECHO OFF
CALL :Start
ECHO Ei toimi: %GlobalVariable%
GOTO :EOF
:Start
SETLOCAL
SET GlobalVariable=Tämä on globale Variable
CALL :InnerFunction
ENDLOCAL & SET GlobalVariable=%GlobalVariable%
GOTO :EOF
:InnerFunction
SET LocalVariable=Tämä on paikallinen Variable
ECHO Toiminnon sisällä: %LocalVariable%
GOTO :EOF
Kuvaus: Tässä
`SETLOCAL`päätoiminnossa (
`:Start`) käytetään paikallisen ympäristön luomiseen. Tässä funktiossa alifunktio (
`:InnerFunction`) nimeltään.
`ENDLOCAL`käytetään pääfunktiossa paikallisesta ympäristöstä poistumiseen samalla kun globaalin muuttujan arvoa päivitetään.
The
`ENDLOCAL`lauseke lopettaa paikallisen ympäristön ja palauttaa ympäristömuuttujat aikaisempaan arvoon
`SETLOCAL`-Komento. Jos haluat käyttää ympäristömuuttujaa paikallisesta ympäristöstä tämän ulkopuolella, sinun tulee tehdä se suoraan
`ENDLOCAL`tehdä. Huomaa, että paikalliset muuttujat eivät ole saatavilla paikallisen ympäristönsä ulkopuolella.
"ENDLOCAL" Ote Microsoft Windowsin ohjeesta
Microsoft Windows [Version 10.0.19045.3693]
(c) Copyright 1985-2023 Microsoft Corp.
C:\\Windows>
Päättää ympäristön paikallisen muuttamisen
komentojonotiedostossa.
ENDLOCAL-komennon jälkeiset ympäristömuutokset
eivät ole paikallisia komentojonotiedostolle. Aiempia asetuksia
ei
palauteta komentojonotiedoston lopettamisen jälkeen.
ENDLOCAL
Jos komentolaajennukset ovat käytössä, ENDLOCAL-komento muuttuu
seuraavasti:
Jos vastaava SETLOCAL-komento kytkee komentolaajennukset käyttöön
tai pois
käyttäen ENABLEEXTENSIONS- tai DISABLEEXTENSIONS-valitsimia,
komentolaajennusten tila palautuu ENLOCAL-komennon jälkeen
siihen, mikä se oli ennen SETLOCAL-komentoa.
Tärkeää tietoa, vinkkejä "ENDLOCAL"-komennolle
Kun käytät
`ENDLOCAL`-komento Windowsin komentokehotteessa, on muutamia tärkeitä huomioitavia seikkoja:
1.
Paikalliset muuttujat: `ENDLOCAL`lopettaa paikallisen ympäristön ja kaikki kyseisessä ympäristössä luodut paikalliset muuttujat hylätään. Nämä muuttujat ovat sen mukaan
`ENDLOCAL`ei enää saatavilla paikallisen ympäristön ulkopuolella.
2.
Palautusarvot: Jos haluat käyttää arvoja paikallisesta ympäristöstä tämän ulkopuolella, sinun on tehtävä se välittömästi
`ENDLOCAL`- Anna komento. Esimerkki:
SETLOCAL
SET LocalVar=Hei
ENDLOCAL & SET OutsideVar=%LocalVar%
3.
Sisäkkäinen`SETLOCAL`/`ENDLOCAL`: Jos sinä
`SETLOCAL`käytetään useita kertoja erätiedostossa, jokaisen pitäisi
`SETLOCAL`vastaavasta
`ENDLOCAL`seurata. Jokainen
`ENDLOCAL`päättyy lähimpään
`SETLOCAL`-Ohje.
4.
Muuttujan periytyminen: Lokalisoidussa ympäristössä luotuja muuttujia ei peritty pääympäristöihin. Paikalliset ympäristöt näkyvät yleensä vain nykyiselle eräprosessille.
5.
Toteutusmääräys: `ENDLOCAL`suoritetaan siinä järjestyksessä, jossa
`SETLOCAL`Kutsuttiin. Tämä tarkoittaa, että viimeinen lokalisoitu ympäristö tulee ensin
`ENDLOCAL`lähetin.
6.
Erätiedostot ja funktiot: Erätiedostoissa funktioissa käytetään usein lokalisoituja ympäristöjä. Kun poistut funktiosta, a
`ENDLOCAL`suoritettu, ellei toimintoa ole käytetty
`GOTO :EOF`tai
`EXIT /B`lähteä. Tässä tapauksessa on suositeltavaa syöttää manuaalisesti
`ENDLOCAL`lisätä.
7.
Käytä silmukoissa: Jos käytät
`SETLOCAL`silmukassa uusi paikallinen ympäristö luodaan joka kerta, kun silmukka suoritetaan. Varmista, että sinä
`ENDLOCAL`oikein varmistaaksesi, että paikalliset muuttujat vapautetaan tarpeen mukaan.
FOR /L %%A IN (1, 1, 3) DO (
SETLOCAL
SET LocalVar=Hei
ECHO %LocalVar%
ENDLOCAL
)
8.
Prosessiresurssit: Käyttö
`SETLOCAL`ja
`ENDLOCAL`voi auttaa säästämään prosessiresursseja, varsinkin kun monet muuttujat määritellään ja käytetään erätiedostossa. Muuttujien laajuuden rajoittaminen tiettyihin koodin osiin mahdollistaa muistiresurssien tehokkaamman käytön.
Yhteenvetona se on tärkeää
`SETLOCAL`ja
`ENDLOCAL`käyttää huolellisesti sen varmistamiseksi, että muuttujia käsitellään oikein ja paikallisia ympäristöjä hallitaan oikein. Tämä on erityisen tärkeää monimutkaisissa komentosarjoissa tai funktioissa.