CMD – SET 환경변수 설정

SET 명령은 현재 등록된 환경변수(시스템, 사용자 변수) 목록을 본다거나 변수 생성, 수정 및 제거하는 데 사용됩니다.
변수는 명령 프롬프트에서 입력해야 하는 긴 명령 줄을 반복적으로 사용해야 하는 변수 사용에 유용합니다.

예를 들어, “C:\Windows\System32\cmd.exe”를 실행하려면 긴 명령을 입력해야 합니다.
그러나 ‘run_cmd’라는 변수를 만들어 “set run_cmd=C:\Windows\System32\cmd.exe” 명령을 실행한 후, run_cmd 변수만 사용하여 cmd.exe를 실행할 수 있습니다.


명령 프롬프트에서 아래의 코드를 입력하면 등록되어 있는 모든 환경 변수에 대한 정보를 확인할 수 있습니다.

@echo off
set
pause

set의 명령어로 설정되어 있는 환경 변수를 출력해주고 있습니다. 이 변수들은 시스템 변수와 사용자 변수에 등록되어있는 값입니다.


사용자 변수에 영구적으로 생성 하는 방법입니다.

@echo off
setx USER_VAR HELLO
pause

사용자 변수에 저장이 되지 않는 다면, run as administrator(관리자 권한으로 실행)해보시기 바랍니다.

시스템 변수에 영구적으로 생성 하는 방법입니다.

@echo off
setx /m SYSTEM_VAR WORLD
set
pause

반드시 run as administrator(관리자 권한으로 실행)으로 하셔야 시스템 변수에 등록 됩니다.

현재 Session에서만 변수를 생성해서 프로그램이 종료 되면 사라지는 일시적인 환경 변수 만드는 방법입니다.

@echo off
set var=Hello World
set
pause

가장 중요한 점은 일시적인 변수는 변수이름(var), 변수 값(Hello World) 사이에 등호(=)이 있는 것이며, 영구적인 변수에는 등호(=)가 없습니다.


CMD명령어 중 SET으로 사직연산과 사용자 입력 값을 수행하는 방법에 대해 알아보겠습니다.

  • 배치 파일내에서 사칙연산이 필요한 경우 SET 명령에  /a 옵션을 붙이면 사칙연산이 가능합니다. 
  • /a 옵션은 변수에 정수를 설정하는데 사용됩니다.
  • 사용자에게 입력을 받고 변수에 할당 후, 출력을 해야 할 경우, SET명령에 /p 옵션을 붙이면 됩니다.
  • 변수를 삭제해야 할 경우, 값을 공백으로 입력하면 됩니다.

set /a 변수=계산식

@echo off

rem 변수 x 값 입력
set x=10

rem 변수 y 값 입력
set y=2

rem 덧셈
set /a result_addition=%x%+%y%

rem 뺄셈
set /a result_subtraction=%x%-%y%

rem 곱셈
set /a result_multiplication=%x%*%y%

rem 나눗셈
set /a result_division=%x%/%y%

rem 결과 출력
echo result_addition = %result_addition%
echo result_subtraction = %result_subtraction%
echo result_multiplication = %result_multiplication%
echo result_division= %result_division%

pause

결과

result_addition = 12
result_subtraction = 8
result_multiplication = 20
result_division = 5
계속하려면 아무 키나 누르십시오 . . . 

사용자 입력 값을 변수에 넣어 출력 하는방법에 대해 알아보겠습니다.

set /p 변수명=prompt string

@echo off

rem 사용자가 입력하는 값을 변수 value에 적용
set /p value=값을 입력해주세요.

rem 변수 value 출력
echo value = %value%

pause

결과

값을 입력해주세요: Hello, World
value = Hello, World
계속하려면 아무 키나 누르십시오 . . .

변수 삭제 하는방법에 대해 알아보겠습니다.

set 변수명=

@echo off

rem 사용자가 입력하는 값을 변수 value에 적용
set /p value=값을 입력해주세요: 

rem 변수 value 출력
echo value = %value%

echo.
echo ------------------------------------
echo.

rem 변수 삭제(초기화)
set value=

rem 변수 value 출력
echo value = %value%

pause

결과

값을 입력해주세요: Hello, World
value = Hello, World
------------------------------------
value =
계속하려면 아무 키나 누르십시오 . . . .

Leave a Comment