Windows MS-DOS 환경 변수 설정 방법

DOS배치파일 작성 팁

환경 변수(environment variable )는 운영 체제(OS)가 제공하는 데이터 공유 기능의 하나 입니다. 이 글에서는 Windows OS의 어디에서 환경 변수를 설정할 수 있는지 를 소개합니다.

이 글은 Windows 10 Pro에서 동작 확인 했습니다.

Windows 화면에서 설정하기

Windows 화면(환경 변수 설정 화면)을 이용한 설정 방법을 소개합니다.

[시스템 속성] 화면 기동 방법

  • [ 시작 > 설정 > Windows 설정 > 시스템 > 정보 > 고급 시스템 설정 ] 을 눌러 [시스템 속성]화면을 표시합니다.
  • 또는 , [Windows 로고 키 + R] -> [실행] 창 -> [sysdm.cpl] 입력 후 [확인]을 눌러 [시스템 속성]화면을 표시합니다.

[시스템 속성] 화면

[시스템 속성] 화면의 탭 중에서 [고급]탭을 선택한 후 표시된 화면에서 [환경 변수(N)…]버튼을 클릭해서 [환경 변수] 설정 화면을 표시합니다.

환경 변수 설정 화면

[환경 변수] 설정 화면은 “로그인 한 사용자 만 적용되는 변수“, “시스템 전체에 적용되는 변수“의 2종류의 환경 변수를 설정할 수 있습니다.

환경 변수 설정 방법

  • 로그인 한 사용자 만 적용되는 변수“, “시스템 전체에 적용되는 변수“의 종류 별로 [새로 만들기], [편집], [삭제] 버튼이 준비되어 있으며 종류 별 환경 변수에 대한 신규 작성, 변경, 삭제를 실행해 [확인] 버튼을 눌러야 적용됩니다.
  • 주의) 종류 별 환경 변수에 대한 신규 작성, 변경, 삭제를 실행한 후 [취소] 버튼을 누르면 적용되지 않습니다.
  • [새로 만들기], [편집]은 타이틀 [새 사용자 변수], [사용자 변수 편집]을 가진 다음과 같은 화면이 표시되어 신규 작성, 변경을 할 수 있습니다.

만약 “로그인 한 사용자 만 적용되는 변수” 하고 “시스템 전체에 적용되는 변수” 양쪽 모두 동일한 변수 명에 다른 값을 등록했다면 로그인 한 사용자 만 적용되는 변수“의 값이 우선합니다.

MS-DOS 명령 프롬프트에서 설정하기

MS-DOS 명령 프롬프트를 이용한 설정 방법을 소개합니다.

[명령 프롬프트]창 기동 방법

  • [시작 > Windows 시스템 > 명령 프롬프트] 를 실행합니다.
  • 도스 창이 열리면 C:\Users\Administrator>와 같은 프롬프트가 표시되며 커서가 깜빡이면서 키 입력을 기다립니다. 프롬프트에 표시되는 경로 C:\Users\Administrator는 현재 디렉토리를 의미합니다.

환경 변수 설정 방법

  • 환경 변수 신규 작성과 변경은 다음과 같이 set명령을 사용합니다.

set 환경변수명 =값

값에 지정된 문자열을 환경 변수에 설정합니다.

set /a 환경변수명 = 수식

“/ a”옵션을 지정하면 값에 수식을 지정할 수 있습니다.  환경 변수에는 계산 된 결과를 설정 합니다.

set /p 환경변수명 = 메시지

“/ p”옵션을 지정하면 화면에 메시지를 표시하고 값을 입력 받을 수 있습니다.  입력 한 값은 환경 변수에 설정됩니다.
C:\Users\Administrator>set test=value
C:\Users\Administrator>set /a testx=1+2
3
C:\Users\Administrator>set /p testy="값을 입력하십시오:"
값을 입력하십시오:zinnunkebi
  • 현재 환경 변수 값을 확인하려면 다음과 같은 명령을 사용합니다.

set 변수명
echo %변수명%

C:\Users\Administrator>set test
test=value
C:\Users\Administrator>echo %test%
value
C:\Users\Administrator>echo %testx%
3
C:\Users\Administrator>echo %testy%
zinnunkebi
  • 현재 환경 변수를 삭제하려면 다음과 같이 값을 생략하여 실행합니다.

set 변수명 =

C:\Users\Administrator>set test=
  • 삭제된 환경 변수를 확인하면 다음과 같이 표시됩니다.
C:\Users\Administrator>set test
test 환경 변수가 정의되지 않았습니다.
C:\Users\Administrator>echo %test%
%test%

MS-DOS 명령 프롬프트에서 설정한 환경 변수는 오직 명령 프롬프트 창 안에서만 유효합니다. 만약 Windows 환경 변수 설정 화면과 동일한 변수 명이 존재한다면 MS-DOS 명령 프롬프트 창 안에서 설정한 환경 변수가 우선합니다.

참고로 명령 프롬프트 창에서 set명령을 실행하면 로그인한 사용자에게 현재 설정되어있는 모든 환경 변수를 알파벳 순서로 표시 합니다.

C:\Users\Administrator>set

ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\Administrator\AppData\Roaming
CommonProgramFiles=C:\Program Files\Common FilesCommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common FilesCOMPUTERNAME=DESKTOP-3RJ6IOC
ComSpec=C:\WINDOWS\system32\cmd.exe
DriverData=C:\Windows\System32\Drivers\DriverData
HOMEDRIVE=C:
HOMEPATH=\Users\Administrator
LOCALAPPDATA=C:\Users\Administrator\AppData\Local
LOGONSERVER=\\DESKTOP-3RJ6IOC
NUMBER_OF_PROCESSORS=2
OneDrive=C:\Users\Administrator\OneDrive
OneDriveConsumer=C:\Users\Administrator\OneDriveOS=Windows_NT
Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Users\Administrator\AppData\Local\Programs\Python\Python39\Scripts\;C:\Users\Administrator\AppData\Local\Programs\Python\Python39\;C:\Users\Administrator\AppData\Local\Microsoft\WindowsApps;
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 142 Stepping 9, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=8e09
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules
PUBLIC=C:\Users\Public
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\WINDOWS
TEMP=C:\Users\ADMINI~1\AppData\Local\Temp
TMP=C:\Users\ADMINI~1\AppData\Local\Temp
USERDOMAIN=DESKTOP-3RJ6IOC
USERDOMAIN_ROAMINGPROFILE=DESKTOP-3RJ6IOC
USERNAME=Administrator
USERPROFILE=C:\Users\Administrator
windir=C:\WINDOWS
제목과 URL을 복사했습니다