- 배치 파일을 종료하더라도 배치 파일 안에서 정의한 변수들은, 자동으로 지워지지 않고, 환경 변수에 계속 남아 있습니다. 지저분하기도 하고 위험할 수도 있습니다. 그래서 배치 파일 안에서 변수들을 직접 지워주어야 한다. 그런데 사용한 변수들의 개수가 많다면 이 작업이 번거로우며, 이 때문에 변수들을 자동으로 지우는 방법을 알아본다.
변수를 정의하는 부분 앞에, setlocal 문을 넎음으로써 해결할 수 있다.
@echo off
set local
set TEST=foo
echo %TEST%
위와 같이 하면 배치파일을 종료할 때 %TEST% 라는 변수가 자동으로 사라진다.
그러나 변수를 정의하는 부분 뒤에 놓으면 그 변수는 자동으로 지워지지 않는다. setlocal은 자신의 뒤에 있는 문장들에게만 적용된다.
-
변수 중복 방지하기 : 이것은 배치 파일 안에서, 기존의 PATH라는 환경변수를 재정의해서 사용하는 것을 예로 든 예제.
@echo off
set local
set PATH=D:\games
echo %PATH%
이 배치 파일 내에서만 PATH는 D:\games이고, 배치 파일 밖의 PATH는 C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem 이며, 이렇게 여전히 원래의 값이다. 그리고 배치 파일을 종료하더라도, PATH의 값은 변함이 없다. 이것은 setlocal문의 작용
http://mwultong.blogspot.com/2006/08/setlocal-endlocal.html
'Programming' 카테고리의 다른 글
jupyter notebook에서 함수 도움말 보기 / 주석처리하기 (0) | 2020.11.19 |
---|---|
Visual Studio Code에서 Jupyter notebook 사용하기 (0) | 2020.11.16 |
git 명령어 / github 로컬 저장소 연결 (0) | 2020.10.26 |
주피터 노트북 시작 폴더를 내가 원하는 폴더로 변경 / ★단축키 (0) | 2020.10.26 |
jupyter notebook이란? Ipython. (0) | 2020.08.15 |