Tuesday, August 01, 2006
배치 파일에서의 변수 사용 [배치 파일 작성법] - DOS Batch Variable
배치 파일 프로그래밍도, 프로그래밍이기에 당연히 변수(Variables)를 사용할 수 있습니다. 그러나 자체의 독자적인 변수는 아니고, 시스템의 환경변수를 변수로 삼습니다.
TEST 라는 변수를 만들고 그 안에 foo 라는 문자열을 대입했습니다.
사용할 때는 TEST 라는 변수명을 퍼센트(%) 기호로 둘러싸
%TEST%
이렇게 나타냅니다.
echo문으로 %TEST% 의 내용을 화면에 출력하면
foo
라는 문자열이 나옵니다.
배치 파일의 변수는 숫자와 문자열을 구분하지 않습니다.
set TEST =foo
set TEST= foo
set TEST = foo
이렇게 이퀄(=) 기호 양옆이나 어느쪽이든 공백이 있으면 안됩니다. 그러면 그 공백까지도 변수 이름이나 변수 값의 일부로 인식합니다.
반드시
set TEST=foo
이렇게 바짝 붙여써야 합니다.
배치 파일 안에서 정의된 변수는 그 배치 파일이 종료되어도 자동으로 없어지지 않고 계속 남아 있습니다. (set 명령을 쳐보면 알 수 있습니다.)
변수를 지우는 방법은 다음과 같습니다:
set TEST=
변수는 이렇게 지웁니다. TEST 라는 변수는 완전히 소멸됩니다.
단,
set TEST =
이렇게 이퀄(=) 왼쪽에 공백을 주거나, 또는
set TEST=<보이지 않는 공백문자>
이런 식으로 이퀄(=) 오른쪽에 공백 즉 '스페이스 문자'가 있으면 변수가 지워지지 않습니다.
이렇게 수동으로 지우지 않고 자동으로 변수를 지우는 방법이 여기에 있습니다: ▶▶ 배치파일 종료시 변수 자동으로 지우기, 변수 충돌 방지, 변수 지역화: SETLOCAL / ENDLOCAL
배치파일 변수 사용법: 간단한 예제
@echo off
rem TEST 라는 이름의 변수 만들고, foo 라는 값을 대입
set TEST=foo
rem 변수 출력
echo %TEST%
rem 변수 지우기
set TEST=
rem TEST 라는 이름의 변수 만들고, foo 라는 값을 대입
set TEST=foo
rem 변수 출력
echo %TEST%
rem 변수 지우기
set TEST=
TEST 라는 변수를 만들고 그 안에 foo 라는 문자열을 대입했습니다.
사용할 때는 TEST 라는 변수명을 퍼센트(%) 기호로 둘러싸
%TEST%
이렇게 나타냅니다.
echo문으로 %TEST% 의 내용을 화면에 출력하면
foo
라는 문자열이 나옵니다.
배치 파일의 변수는 숫자와 문자열을 구분하지 않습니다.
주의 사항: 공백에 대해
set TEST =foo
set TEST= foo
set TEST = foo
이렇게 이퀄(=) 기호 양옆이나 어느쪽이든 공백이 있으면 안됩니다. 그러면 그 공백까지도 변수 이름이나 변수 값의 일부로 인식합니다.
반드시
set TEST=foo
이렇게 바짝 붙여써야 합니다.
변수 지우기
배치 파일 안에서 정의된 변수는 그 배치 파일이 종료되어도 자동으로 없어지지 않고 계속 남아 있습니다. (set 명령을 쳐보면 알 수 있습니다.)
변수를 지우는 방법은 다음과 같습니다:
set TEST=
변수는 이렇게 지웁니다. TEST 라는 변수는 완전히 소멸됩니다.
단,
set TEST =
이렇게 이퀄(=) 왼쪽에 공백을 주거나, 또는
set TEST=<보이지 않는 공백문자>
이런 식으로 이퀄(=) 오른쪽에 공백 즉 '스페이스 문자'가 있으면 변수가 지워지지 않습니다.
이렇게 수동으로 지우지 않고 자동으로 변수를 지우는 방법이 여기에 있습니다: ▶▶ 배치파일 종료시 변수 자동으로 지우기, 변수 충돌 방지, 변수 지역화: SETLOCAL / ENDLOCAL
tag: batch
배치파일 | DOS CMD BATCH .BAT | VBScript .VBS
<< Home