명령: "ENDLOCAL" 켜짐 Windows 12, 11, 10, .. , MS Server 2025, 2022, 2019, .. 사용 가능
명령의 예 "ENDLOCAL"
그만큼
`ENDLOCAL`명령은 Windows 명령 프롬프트에서 다음과 관련된 로컬 환경 변수를 종료하는 데 사용됩니다.
`SETLOCAL`명령이 시작되었습니다. 여기 몇 가지 예가 있어요.
예 1: 로컬 환경 시작 및 중지:
@ECHO OFF
SETLOCAL
SET Name=John
ECHO 로컬 환경 내에서: %Name%
ENDLOCAL
ECHO 지역 외: %Name%
설명: 이 예에서는 다음을 사용하여 로컬 환경을 시작합니다.
`SETLOCAL`, 지역 변수를 정의합니다(
`Name`), 로컬 환경 내부와 외부의 값을 인쇄한 다음 다음을 사용하여 로컬 환경을 종료합니다.
`ENDLOCAL`.
예 2: 루프에서 ENDLOCAL 사용:
@ECHO OFF
FOR /L %%A IN (1, 1, 3) DO (
SETLOCAL
SET Counter=%%A
ECHO 루프 내부: %Counter%
ENDLOCAL
)
ECHO 루프 외부: %Counter%
설명: 여기 있습니다
`SETLOCAL`루프 내에서 로컬 환경을 생성하는 데 사용됩니다.
`ENDLOCAL`그런 다음 각 루프 반복이 끝날 때 로컬 환경을 종료합니다.
예 3: 반환 값이 있는 로컬 환경:
@ECHO OFF
CALL :LocalFunction
ECHO 기능 불능: %ReturnValue%
GOTO :EOF
:LocalFunction
SETLOCAL
SET ReturnValue=이는 반환 값입니다.
ENDLOCAL & SET ReturnValue=%ReturnValue%
GOTO :EOF
설명: 함수(
`:LocalFunction`) 로컬 환경을 사용하여 생성됨
`SETLOCAL`시작하고
`ENDLOCAL`보냈어요. 반환 값은 함수 외부에서 사용됩니다.
예 4: 배치 파일에서 ENDLOCAL 사용:
@ECHO OFF
CALL :Start
ECHO 기능 불능: %GlobalVariable%
GOTO :EOF
:Start
SETLOCAL
SET GlobalVariable=이것은 globale Variable
CALL :InnerFunction
ENDLOCAL & SET GlobalVariable=%GlobalVariable%
GOTO :EOF
:InnerFunction
SET LocalVariable=이건 현지꺼야 Variable
ECHO 함수 내부: %LocalVariable%
GOTO :EOF
설명: 여기 있습니다
`SETLOCAL`주요 기능에서 (
`:Start`) 로컬 환경을 만드는 데 사용됩니다. 이 함수에서는 하위 함수(
`:InnerFunction`) 라고 불리는.
`ENDLOCAL`전역 변수의 값을 업데이트하는 동안 로컬 환경을 종료하기 위해 main 함수에서 사용됩니다.
그만큼
`ENDLOCAL`명령문은 로컬 환경을 종료하고 환경 변수를 이전 값으로 재설정합니다.
`SETLOCAL`-명령. 이 외부의 로컬 환경에서 환경 변수를 사용하려면 직접 사용해야 합니다.
`ENDLOCAL`하다. 지역 변수는 지역 환경 외부에서는 사용할 수 없습니다.
"ENDLOCAL" Microsoft Windows 도움말에서 발췌
Microsoft Windows [Version 10.0.19045.3693]
(c) Copyright 1985-2023 Microsoft Corp.
C:\\WINDOWS>
일괄 파일에서 환경 변경의 지역화를 끝냅니다.
ENDLOCAL을 사용한 이후에 일어난 환경 변화는, 일괄 파일 밖에도 적용됩니다;
이전 설정은 일괄 파일을 마친 후에도 복구되지 않습니다.
ENDLOCAL
명령 확장을 사용하면 ENDLOCAL은 아래와 같이 바뀝니다.
대응되는 SETLOCAL이 새 ENABLEEXTENSIONS이나 DISABLEEXTENSIONS
옵션을 사용하여 명령 확장을 사용하거나 사용하지 않으면,
ENDLOCAL뒤에 있는 명령 확장의 사용/사용 안 함 상태는 대응되는
SETLOCAL 명령 실행 이전의 상태로 복원됩니다.
중요 정보, "ENDLOCAL" 명령에 대한 팁
사용할 때
`ENDLOCAL`Windows 명령 프롬프트에서 명령을 실행할 때 주의해야 할 몇 가지 중요한 사항이 있습니다.
1.
지역 변수: `ENDLOCAL`로컬 환경을 종료하고 해당 환경에서 생성된 모든 로컬 변수는 삭제됩니다. 이러한 변수는 다음과 같습니다.
`ENDLOCAL`현지화된 환경 외부에서는 더 이상 사용할 수 없습니다.
2.
반환값: 이 외에 로컬 환경의 값을 사용하고 싶다면 바로 사용을 해야 합니다.
`ENDLOCAL`-명령을 해라. 예:
SETLOCAL
SET LocalVar=안녕하세요
ENDLOCAL & SET OutsideVar=%LocalVar%
3.
중첩`SETLOCAL`/`ENDLOCAL`: 만약 너라면
`SETLOCAL`배치 파일에서 여러 번 사용되어야 합니다.
`SETLOCAL`해당하는 것에서
`ENDLOCAL`따라야 한다. 각
`ENDLOCAL`가장 가까운 것으로 끝납니다
`SETLOCAL`-지침.
4.
변수 상속: 지역화된 환경에서 생성된 변수는 상위 환경으로 상속되지 않습니다. 로컬 환경은 일반적으로 현재 배치 프로세스에만 표시됩니다.
5.
실행 순서: `ENDLOCAL`순서대로 실행됩니다
`SETLOCAL`불렀다. 이는 마지막으로 지역화된 환경이 먼저 옴을 의미합니다.
`ENDLOCAL`보냈어요.
6.
배치 파일 및 함수: 배치 파일에서는 현지화된 환경이 함수에 사용되는 경우가 많습니다. 함수를 종료하면
`ENDLOCAL`함수를 사용하지 않는 한 수행됨
`GOTO :EOF`또는
`EXIT /B`떠나다. 이 경우 수동으로 입력하는 것이 좋습니다.
`ENDLOCAL`추가합니다.
7.
루프에서 사용: 다음과 같은 경우
`SETLOCAL`루프에서는 루프가 실행될 때마다 새로운 로컬 환경이 생성됩니다. 당신이
`ENDLOCAL`필요에 따라 지역 변수가 해제되도록 올바르게 설정하세요.
FOR /L %%A IN (1, 1, 3) DO (
SETLOCAL
SET LocalVar=안녕하세요
ECHO %LocalVar%
ENDLOCAL
)
8.
프로세스 자원 :`SETLOCAL`그리고
`ENDLOCAL`특히 배치 파일에서 많은 변수가 정의되고 사용되는 경우 프로세스 리소스를 절약하는 데 도움이 될 수 있습니다. 변수 범위를 코드의 특정 섹션으로 제한하면 메모리 리소스를 보다 효율적으로 사용할 수 있습니다.
요약하자면 중요한 것은
`SETLOCAL`그리고
`ENDLOCAL`변수가 적절하게 처리되고 지역화된 환경이 적절하게 관리되도록 주의 깊게 사용해야 합니다. 이는 특히 복잡한 배치 스크립트나 기능과 관련이 있습니다.