배치 파일에서 환경 변수의 지역화를 시작합니다. 현지화는 일치하는 endlocal 명령이 발견되거나 배치 파일의 끝에 도달할 때까지 계속됩니다.
Syntax
setlocal [enableextensions | disableextensions] [enabledelayedexpansion | disabledelayedexpansion]
Parameters
| Parameter | Description |
|---|---|
| enableextensions | setlocal 명령이 실행되기 전의 설정에 관계없이 일치하는 endlocal 명령이 발견될 때까지 명령 확장을 사용하도록 설정합니다. |
| disableextensions | setlocal 명령이 실행되기 전의 설정에 관계없이 일치하는 endlocal 명령이 발견될 때까지 명령 확장을 사용 안함으로 설정합니다. |
| enabledelayedexpansion | setlocal 명령이 실행되기 전의 설정에 관계없이 일치하는 endlocal 명령이 발견될 때까지 지연된 환경 변수 확장을 사용하도록 설정합니다. |
| disabledelayedexpansion | setlocal 명령이 실행되기 전의 설정에 관계없이 일치하는 endlocal 명령이 발견될 때까지 지연된 환경 변수 확장을 사용 안함으로 설정합니다. |
| /? | 명령 프롬프트에 도움말을 표시합니다. |
Remarks
스크립트 또는 배치 파일 외부에서 setlocal 을 사용하는 경우 아무런 효과가 없습니다.
setlocal을 사용하여 배치 파일을 실행할 때 환경 변수를 변경합니다. setlocal을 실행한 후 수행된 환경 변경사항은 배치 파일에 로컬입니다. Cmd.exe 프로그램은 endlocal 명령이 발생하거나 배치 파일의 끝에 도달하면 이전 설정을 복원합니다.
일괄처리 프로그램에는 둘 이상의 setlocal 또는 endlocal 명령(즉, 중첩된 명령)이 있을 수 있습니다.
setlocal 명령은 ERRORLEVEL 변수를 설정합니다. {enableextensions | disableextensions} 또는 {enabledelayedexpansion | disabledelayedexpansion}을 전달하면 ERRORLEVEL 변수가 0 으로 설정됩니다. 그렇지 않으면 1로 설정됩니다. 다음 예제와 같이 확장을 사용할 수 있는 지 확인 하기 위해 배치 스크립트에서이 정보를 사용할 수 있습니다.
verify other 2>nul setlocal enableextensions if errorlevel 1 echo Unable to enable extensions명령 확장이 사용 안함으로 설정된 경우 cmd 는 ERRORLEVEL 변수를 설정하지 않으므로 유효하지 않은 인수와 함께 사용할 때 verify 명령은 ERRORLEVEL 변수를 0이 아닌 값으로 초기화합니다. 또한 인수 {enableextensions | disableextensions} 또는 {enabledelayedexpansion | disabledelayedexpansion}과 함께 setlocal 명령을 사용하고 ERRORLEVEL 변수를 1로 설정하지 않는 경우 명령 확장을 사용할 수 없습니다.
Examples
배치 파일에서 환경 변수를 지역화하려면 다음 샘플 스크립트를 따르세요.
rem *******Begin Comment**************
rem This program starts the superapp batch program on the network,
rem directs the output to a file, and displays the file
rem in Notepad.
rem *******End Comment**************
@echo off
setlocal
path=g:\programs\superapp;%path%
call superapp>c:\superapp.out
endlocal
start notepad c:\superapp.out