방명록에 질문주신 분이 계셔서 관련 글 올려봅니다.

환경 변수라는 말 한번 쯤은 들어보셨을 텐데요, DOS 세대라면 SET PATH= 이 명령어 기억나실 것입니다. AUTOEXEC.BAT 파일에 MDIR 경로를 적어주곤 했죠. 그럼 어떤 위치에서든 MDIR을 실행시킬 수 있었으니까요.

추억의 MDIR 3.10


윈도우에서도 기본적으로 사용되는 시스템 변수가 있습니다. 이 값은 레지스트리 상에 저장되어 있는데 일반 유저들은 사용할 일이 잘 없겠지만 개발자 분들이나 CMD 창 자주 쓰는 분들께는 유용할 수 있습니다. 저도 배치파일 작성할 때 자주 사용하는 편입니다.

아래는 제가 현재 사용중인 윈도우 7 기준인데 몇가지 자주 쓰이는 예를 들어보겠습니다.

%allusersprofile%

C:\ProgramData

%appdata%

C:\Users\사용자계정\AppData\Roaming

%homepath%

\Users\사용자계정

%localappdata%

C:\Users\사용자계정\AppData\Local

%programfiles%

C:\Program Files

%programfiles(x86)%

C:\Program Files (x86)

%systemdrive%

C: (현재 윈도우가 설치되어 있는 드라이브)

%systemroot%

C:\windows

%temp%

C:\Users\사용자계정\AppData\Local\Temp

%userprofile%

C:\Users\사용자계정

%windir%

C:\windows



질문 주신 분은 바탕화면 폴더의 위치를 다른 곳으로 옮겨두었는데 그 위치를 환경 변수로 한방에 지정해두고 싶어하시는 것 같습니다. 여러가지 방법이 있지만 일단 가장 쉬운 방법부터 설명드리겠습니다.



방법 1.

가장 기본적인 방법으로는 시스템 속성 창을 들 수 있습니다. 한방에 가시려면 sysdm.cpl 이라고 입력하시면 됩니다.




여기에는 사용자 변수와 시스템 변수가 있습니다. 사용자 변수는 현재 사용자의 계정에만 적용되는 값이고 시스템 변수는 모든 사용자 계정에 대해 적용되는 값입니다. 따라서 둘중에 아무 곳에나 만드셔도 됩니다. 저는 사용자 변수에 만들어 보겠습니다. 새로 만들기를 눌러서 변수 이름과 값을 지정해주시면 됩니다.



예를 들어 위와 같이 추가를 했다면 앞으로 %portable% 이라는 변수는 E:\프로그램\포터블 프로그램 위치를 반환해줍니다. 윈도우 탐색기 주소창에 %portable% 라고 입력하면 바로 저 위치로 가겠지요. 커맨드 창에서는 pushd %portable% 이라고 입력하면 위 위치로 이동하게 됩니다.




방법 2.

SET 명령어와 비슷한데 SetX 라는 명령어가 있습니다. 그런데 이 명령어는 윈도우 XP에 기본으로 포함되어 있지 않습니다. XP 유저들은 따로 팩을 설치해야 사용이 가능합니다.

http://www.microsoft.com/downloads/details.aspx?FamilyID=49ae8576-9bb9-4126-9761-ba8011fabf38&DisplayLang=ko

뭐 어차피 시스템 속성에서 해결하면 되는데 굳이 이 팩을 설치해서까지 SetX를 이용할 필요는 없겠지요. 윈도우 7에는 기본으로 들어있습니다.

자세한 사용법은 SetX /? 라고 입력해서 확인해보시고 여기서는 가장 기본적인 예제만 적어보겠습니다.

setx portable "E:\프로그램\포터블 프로그램"


setx portable "E:\프로그램\포터블 프로그램" /m


위 예제에서 뒤에 /m 을 붙이지 않은 경우 사용자 변수가 되고 뒤에 /m 을 붙이면 시스템 변수가 됩니다.

한가지 알아두어야 할 사항은 이렇게 SetX로 지정한 변수는 해당 커맨드 창에서는 적용되지 않고 새로 띄운 커맨드 창에서부터 적용이 된다는 점입니다.



방법 3.

마지막으로 레지스트리 편집기로 하는 방법입니다. 물론 이 말은 REG ADD 명령어로도 가능하다는 소리겠지요.
여기에 대해서는 특별히 설명할 필요가 없을 것 같습니다.

사용자 변수 : HKEY_CURRENT_USER\Environment
시스템 변수 : HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment

해당 키에 찾아가서 문자열 값을 새로 만들어 주시면 됩니다.
신고

  1. BlogIcon 백오
    2010.05.24 03:56 신고

    이런 기능이 있었군요. cmd창 쓸때마다 번거로웠는데 좋은 정보 알아갑니다. :)

  2. hongyang
    2010.08.20 10:26 신고

    감사여

  3. ^^
    2010.11.14 21:13 신고

    잘 보고 가요~~

  4. BlogIcon sakdon
    2011.12.14 23:15 신고

    좋은글 퍼갈게요. 출처를 남기겠습니다.