시스템 및 사용자 환경 변수(System and User Environment Variables) 는 일상적인 Windows OS 사용자에게 항상 복잡한 토론 주제였습니다. 그들은 무엇을합니까? 인터넷 튜토리얼에서는 PATH 변수를 추가한다고 했는데 그게 뭐죠? 이러한 변수는 어디에서 찾을 수 있습니까? 이 모든 질문은 이 게시물에서 곧 답변될 것입니다. 시스템(System) 및 사용자 환경 변수(User Environment Variables) 가 무엇이고 어떻게 활용할 수 있는지 에 대한 높은 수준의 개요를 제공하려고 했습니다.
이 포스트에서는 환경 변수(Environment Variables) , 시스템(System) 및 사용자 환경 변수(User Environment Variables) , 그리고 이를 추가 및 수정하는 방법에 대해 설명합니다. 그런 다음 동적 시스템 변수(Dynamic System Variables) 로 이동 하여 명령 프롬프트에서 사용하는 방법을 살펴보겠습니다.
Windows OS 의 환경 변수(Variable) 란 ?
환경 변수 는 ' (Environment Variable)환경(Environment) '과 ' 변수(Variable) ' 라는 두 단어로 구성됩니다 . 먼저 '변수'에 대해 알아보겠습니다. 이는 엔터티가 값을 저장할 수 있고 컴퓨터마다 다를 수 있음을 의미합니다. Windows 는 응용 프로그램이 작업을 실행하고 수행할 수 있는 ' 환경 '을 제공하며 이것이 첫 번째 단어를 만드는 것입니다. (Environment)둘을 결합하면 환경(Environment) 변수는 환경에서 제공하는 값을 저장하는 동적 개체입니다. 이제 환경은 다른 프로그램이 시스템에 대한 몇 가지 중요한 정보를 얻는 데 도움이 되는 값을 제공합니다. Windows 가 있는 디렉토리에 해당하는 'windir'이라는 환경 변수가 있는 것처럼설치됩니다. 이 작업을 보려면 탐색기 창을 열고 주소 표시줄 에 ' %windir%Windows 설치 폴더가 열립니다 .
매우 유사하게 다른 프로그램 및 스크립트에서 'windir' 변수를 사용하여 Windows 디렉토리를 참조할 수 있습니다 . 액세스할 수 있는 다른 많은 변수가 있습니다. ' TEMP ' 또는 'TMP'는 모든 임시 파일이 저장된 디렉토리를 가리키는 변수입니다. 가장 널리 사용되는 ' Path ' 변수는 실행 파일이 포함된 디렉토리를 가리키는 변수입니다. 다른 디렉토리 의 명령 프롬프트(Command Prompt) 에서 프로그램을 실행할 수 있습니다 . 이 게시물의 뒷부분에서 Path 에 대해 설명 했습니다. 이 모든 변수는 무언가를 개발하거나 셸을 많이 사용할 때 유용합니다.
시스템(System) 및 사용자 환경 변수(User Environment Variables) 란?
레지스트리 가 (Registry)Windows 에서 작동 하는 방식과 매우 유사하게 시스템(System) 및 사용자 환경 변수(User Environment Variables) 가 있습니다. 시스템 변수는 시스템 전체에서 허용되며 사용자마다 다르지 않습니다. 반면(Whereas) , 사용자 환경(User Environments) 은 사용자마다 다르게 구성됩니다. 다른 사용자가 영향을 받지 않도록 사용자 아래에 변수를 추가할 수 있습니다.
주제에 대해 깊이 있게 논의하고 있으므로 참고용으로만 사용하십시오. 시스템 변수 는 (System Variables)사용자 변수(User Variables) 보다 먼저 평가 됩니다. 따라서 시스템 변수와 이름이 같은 일부 사용자 변수가 있으면 사용자 변수가 고려됩니다. Path 변수는 다른 방식으로 생성됩니다 . 유효한 경로(Path) 는 시스템 경로(System Path) 변수에 추가된 사용자 경로(User Path) 변수입니다. 따라서 항목 순서는 시스템 항목 다음에 사용자 항목이 오는 것입니다.
환경 변수 추가 및 수정 방법
더 깊이 들어가기 전에 작은 경고. 시스템 복원 지점 을 만들고 시스템에 구성된 기존 설정을 변경하지 마십시오. 자신의 행동에 대해 확신이 서지 않는 한. '환경 변수' 창을 열려면 다음 단계를 따르세요.
- '내 PC' 아이콘을 마우스 오른쪽 버튼으로 클릭하고 '속성'을 선택합니다.
- 이제 이 창의 왼쪽에서 '고급 시스템 설정'을 선택합니다.
- (Hit)'환경 변수'라는 마지막 버튼을 눌러 목적지 창을 엽니다 .
이것을 열면 사용자(User) 및 시스템(System) 변수를 별도로 볼 수 있습니다. 변수 이름은 첫 번째 열에 있고 값은 두 번째 열에 있습니다. 표 아래의 해당 버튼을 사용하여 이러한 변수를 '추가', '편집' 및 '삭제'할 수 있습니다.
경로 변수 사용
경로(Path) 는 가장 많이 사용되는 환경 변수입니다. 언급했듯이 실행 파일이 포함된 디렉토리를 가리킵니다. 경로(Path) 변수를 올바르게 설정 하면 시스템의 어느 곳에서나 이러한 실행 파일을 사용할 수 있습니다. 예를 들어 이것을 이해하려고 노력합시다. 환경 변수 창을 열고 시스템 변수에서 ' 경로 '를 찾으십시오.(Path)
(Click)지금 다른 컨트롤을 사용하지 않고 '편집'을 클릭한 다음 ' 새로 만들기 '를 클릭합니다. (New)이제 찾아보기를 클릭하고 원하는 실행 파일이 있는 폴더를 선택합니다. '확인'을 클릭 하고 모두 저장합니다. (Click)경로에 'Visual Studio Code' 실행 파일을 추가했습니다.
이제 응용 프로그램을 실행하려면 명령 프롬프트(Command Prompt) 를 열고 폴더에 있던 실행 파일의 이름을 입력합니다. 프로그램에서 지원하는 경우 추가 인수를 제공할 수 있습니다. 프로그램은 실제로 명령을 실행한 디렉토리에 있지 않고 명령 프롬프트에서 실행됩니다. 이것이 Path 변수(Path variable) 의 장점 입니다.
모든 환경 변수 목록
명령 프롬프트를 열고 ' SET '을 입력하고 Enter 키를 누릅니다 . 현재 값이 포함된 전체 변수 목록이 표시되며 이를 참조하여 컴퓨터를 변경할 수 있습니다.
동적 환경 변수
기존 변수와 달리 동적 환경 변수는 시스템이 아닌 CMD 에서 제공 합니다. 이러한 변수의 값은 변경할 수 없으며 쿼리할 때마다 다양한 개별 값으로 확장됩니다. 우리는 일반적으로 이러한 변수를 일괄 처리에 사용하며 환경에 저장되지 않습니다. 'SET' 명령도 이러한 변수를 표시하지 않습니다. 다음은 동적 환경 변수 중 일부입니다.
읽기(Read) : 컨텍스트 메뉴에 환경 변수를 추가하는 방법(How to add Environment Variables to Context Menu) .
Windows 11/10 의 환경 변수 목록
%APPDATA% – C:Users<사용자 이름>AppDataRoaming
%ALLUSERSPROFILE% – C:프로그램 데이터
%CD% – 이 명령을 입력하면 현재 작업 중인 디렉터리가 표시됩니다.
%COMMONPROGRAMFILES% – C:프로그램 파일공통 파일
%COMMONPROGRAMFILES(x86)% – C:프로그램 파일(x86)공통 파일
%COMMONPRGRAMW6432% – C:프로그램 파일공통 파일
%CMDEXTVERSION% – 이 변수는 명령줄 확장 버전으로 확장됩니다.
%COMSPEC% – C:WindowsSystem32cmd.exe
%DATE% : – 이 변수는 날짜 형식 기본 설정에 따라 현재 날짜를 제공합니다.
%ERRORLEVEL% – 마지막 실행 명령에 의해 설정된 오류 수준을 결정합니다.
%HOMEDRIVE% – C:
%HOMEPATH% -C:사용자<사용자 이름>
%LOCALAPPDATA% – C:Users<사용자 이름>AppDataLocal
%LOGONSERVER% – \<도메인_로그온_서버>
%PATH% – C:Windowssystem32;C:Windows;C:WindowsSystem32Wbem
%PATHEXT% – .com ; .exe ; .bat ; .cmd ; .vbs ; .vbe ;.js; .jse ; .wsf ; .wsh ;.msc
%PROGRAMDATA% – C:프로그램 데이터
%PROGRAMFILES% – C:프로그램 파일
%PROGRAMW6432% – C:프로그램 파일
%PROGRAMFILES(X86)% – C:프로그램 파일(x86)
%PROMPT% – $P$G
%SYSTEMDRIVE% – C:
%SYSTEMROOT% – C:Windows
%TIME% – 마찬가지로 시간 형식 기본 설정에 따라 현재 시간을 제공합니다.
%TMP% – C:Users<사용자 이름>AppDataLocalTemp
%TEMP% – C:Users<사용자 이름>AppDataLocalTemp
%USERNAME% – <사용자 이름>
%USERPROFILE% – C:사용자<사용자 이름>
%USERDOMAIN% – 현재 사용자와 연결된 사용자 도메인 입니다.(Userdomain)
%USERDOMAIN_ROAMINGPROFILE% – 로밍 프로필과 연결된 사용자 도메인 .(Userdomain)
%WINDIR% – C:Windows
%PUBLIC% – C:UsersPublic
%PSMODULEPATH% – % SystemRoot %system32WindowsPowerShell 1.0모듈
%ONEDRIVE% – C:사용자<사용자 이름>OneDrive
%DRVERDATA% – C:WindowsSystem32DriversDriverData
%CMDCMDLINE% – 현재 명령 프롬프트(Command Prompt) 세션 을 시작하는 데 사용되는 명령줄을 출력 합니다. (Outputs)( 명령 프롬프트(Command Prompt) .)
%COMPUTERNAME% - 시스템 이름을 출력합니다.
%PROCESSOR_REVISION% – 프로세서 개정판을 출력합니다.
%PROCESSOR_IDENTIFIER% – 프로세서 식별자를 출력합니다.
%PROCESSOR_LEVEL% – 프로세서 수준을 출력합니다.
%RANDOM% – 이 변수는 0에서 32767 사이의 난수를 인쇄합니다.
%NUMBER_OF_PROCESSORS% – 물리적 및 가상 코어 수를 출력합니다.
%OS% – Windows_NT
이것은 Windows 의 (Windows)시스템(System) 및 사용자 환경 변수(User Environment Variables) 에 관한 것이었습니다 . Windows 에는 더 많은 변수가 있습니다. 'SET' 명령을 사용하여 변수를 확인하는 것을 잊지 마십시오.
팁(TIP) : Rapid Environment Editor 는 강력한 Windows 용 환경 (Windows)변수 편집기(Variables Editor) 입니다 .
System & User Environment Variables in Windows 11/10 explained
System and User Environment Variables has always been a complex topic of discussion for day-to-day Windows OS users. What do they do? A tutorial on the internet said to add a PATH variable, but what is it? Where do I find these variables? All of these questions will be shortly answered in this post. We’ve tried to give you a high-level overview of what System and User Environment Variables are and how you can utilize them.
In this post, we will discuss Environment Variables, System and User Environment Variables and how to add and modify them. Then we will move on to Dynamic System Variables and see how to use them in the command prompt.
What is an Environment Variable In Windows OS
Environment Variable is formed up by two separate words, ‘Environment’ and ‘Variable’. Let’s discuss ‘variable’ first. It means that the entity can store a value and vary from computer to computer. Windows provide an ‘Environment’ for applications to execute and perform operations and that is what makes the first word. Combining both, Environment Variables are those dynamic objects that store the values provided by the environment. Now environment provides values that help other programs in obtaining some crucial information about the system. Like there is an environment variable called ‘windir’ that corresponds to the directory where Windows is installed. To see this in action, open up an explorer window and type in ‘%windir%’ in the address bar. The Windows installation folder will open up.
Very similarly, you can make reference to the Windows directory using ‘windir’ variable in other programs and scripts. There are numerous other variables that can be accessed, ‘TEMP’ or ‘TMP’ is the variable that points to the directory where all temporary files are stored. The most popular, ‘Path’ variable is the one that points to the directories containing executable files. So that you can run a program from the Command Prompt in any other directory. We’ve explained Path later on in this post. All these variables come in handy when you are developing something or using the shell a lot.
What are System & User Environment Variables
Very similar to how the Registry works on Windows, we have System and User Environment Variables. The system variables are system-wide accepted and do not vary from user to user. Whereas, User Environments are configured differently from user to user. You can add your variables under the user so that other users are not affected by them.
Just for your information since we are discussing the topic in depth. System Variables are evaluated before User Variables. So if there are some user variables with the same name as system variables then user variables will be considered. The Path variable is generated in a different way. The effective Path will be the User Path variable appended to the System Path variable. So the order of entries will be system entries followed by user entries.
How to add & modify Environment Variables
A small warning before we go deeper. Create a system restore point, and try not to tamper with the existing settings configured for your system. Until unless you are very sure about your actions. To open the ‘Environment Variables’ Window, follow these steps:
- Right-click ‘This PC’ icon and select ‘Properties’.
- Now in this window select ‘Advanced System Settings’ from the left part.
- Hit the last button saying ‘Environment Variables’ to open our destined window.
Once you’ve opened this up, you will be able to view User and System variables separately. The variable name is in the first column and its value in the second. The corresponding buttons below the table let you ‘Add’, ‘Edit’ and ‘Delete’ these variables.
Using the Path variable
Path is the most used environment variable. As I mentioned, it points to directories that contain executable files. Once you’ve correctly setup your Path variable, you can use these executables from anywhere in the system. Let’s try to understand this with an example. Open up the environment variables window and look for ‘Path’ in system variables.
Click on ‘Edit’ and then click on ‘New’ without playing around with other controls right now. Now click browse and select a folder that has your desired executable file. Click ‘Ok’ and save everything. I added ‘Visual Studio Code’ executable to the path.
Now to run your application, open up Command Prompt and type in the name of the executable file that was in the folder. You can provide additional arguments if the program supports it. The program will run from the command prompt without actually being in the directory from where you executed the command. That is the beauty of the Path variable.
List of all Environment Variables
Open command prompt and type ‘SET’ and hit Enter. The entire list of variables with their current values will be displayed and you can refer to it for making changes to your computer.
Dynamic Environment Variables
Unlike, conventional variables, dynamic environment variables are provided by the CMD and not by the system. You cannot change the values of these variables and they expand to various discrete values whenever queried. We usually use these variables for batch processing and these are not stored in the environment. Even the ‘SET’ command will not reveal these variables. Some of the dynamic environment variables are listed below.
Read: How to add Environment Variables to Context Menu.
List of environment variables in Windows 11/10
%APPDATA% – C:\Users\<username>\AppData\Roaming
%ALLUSERSPROFILE% – C:\ProgramData
%CD% – Typing in this command will give you the current directory you are working in.
%COMMONPROGRAMFILES% – C:\Program Files\Common Files
%COMMONPROGRAMFILES(x86)% – C:\Program Files (x86)\Common Files
%COMMONPRGRAMW6432% – C:\Program Files\Common Files
%CMDEXTVERSION% – This variable expands to the version of the command-line extensions.
%COMSPEC% – C:\Windows\System32\cmd.exe
%DATE%: – This variable will give you the current date according to date format preferences.
%ERRORLEVEL% – Determines the error level set by last executing command.
%HOMEDRIVE% – C:\
%HOMEPATH% -C:\Users\<username>
%LOCALAPPDATA% – C:\Users\<username>\AppData\Local
%LOGONSERVER% – \\<domain_logon_server>
%PATH% – C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem
%PATHEXT% – .com;.exe;.bat;.cmd;.vbs;.vbe;.js;.jse;.wsf;.wsh;.msc
%PROGRAMDATA% – C:\ProgramData
%PROGRAMFILES% – C:\Program Files
%PROGRAMW6432% – C:\Program Files
%PROGRAMFILES(X86)% – C:\Program Files (x86)
%PROMPT% – $P$G
%SYSTEMDRIVE% – C:
%SYSTEMROOT% – C:\Windows
%TIME% – Similarly, it gives you current time according to the time format preferences.
%TMP% – C:\Users\<username>\AppData\Local\Temp
%TEMP% – C:\Users\<username>\AppData\Local\Temp
%USERNAME% – <username>
%USERPROFILE% – C:\Users\<username>
%USERDOMAIN% – Userdomain associated with current user.
%USERDOMAIN_ROAMINGPROFILE% – Userdomain associated with roaming profile.
%WINDIR% – C:\Windows
%PUBLIC% – C:\Users\Public
%PSMODULEPATH% – %SystemRoot%\system32\WindowsPowerShell\v1.0\Modules\
%ONEDRIVE% – C:\Users\<username>\OneDrive
%DRVERDATA% – C:\Windows\System32\Drivers\DriverData
%CMDCMDLINE% – Outputs command line used to launch the current Command Prompt session. (Command Prompt.)
%COMPUTERNAME% -Outputs the system name.
%PROCESSOR_REVISION% – Outputs processor revision.
%PROCESSOR_IDENTIFIER% – Outputs processor identifier.
%PROCESSOR_LEVEL% – Outputs processor level.
%RANDOM% – This variable prints a random number from 0 through 32767
%NUMBER_OF_PROCESSORS% – Outputs the number of physical and virtual cores.
%OS% – Windows_NT
This was pretty much about System and User Environment Variables on Windows. Windows does come with a lot more variables – don’t forget to check them using the ‘SET’ command.
TIP: Rapid Environment Editor is a powerful Environment Variables Editor for Windows.