배치파일을 작성하다보면 윈도우 폴더, Application Data폴더 등등을 지정해 줘야할 때가 있다.
그런데 이런 폴더는 윈도우 버전에 따라서 윈도우 설치 환경에 따라서 달라질 수 있는데
이런 상황 변화와 관계없이 일정하게 변수로 지정해 줄 수 있다.
환경변수라는 것을 사용하면 되는데,
예를 들어 윈도우 폴더는 %windir%이렇게 지정해주면 실제 윈도우가 C:\windows\ 가 아닌
d:\이런곳에 있더라도 경로는 문제없이 이곳을 가리키게 된다.
다음과 같은 많은 환경변수들이 있다.
Variable | Windows XP |
%ALLUSERSPROFILE% | C:\Documents and Settings\All Users |
%APPDATA% | C:\Documents and Settings\{username}\Application Data |
%COMPUTERNAME% | {computername} |
%COMMONPROGRAMFILES% | C:\Program Files\Common Files |
%COMMONPROGRAMFILES(x86)% | C:\Program Files (x86)\Common Files (only in 64-bit version) |
%COMSPEC% | C:\Windows\System32\cmd.exe |
%HOMEDRIVE% | C: |
%HOMEPATH% | \Documents and Settings\{username} |
%LOCALAPPDATA% | |
%LOGONSERVER% | \\{domain_logon_server} |
%PATH% | C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;{plus program paths} |
%PATHEXT% | .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.WSF;.WSH |
%PROGRAMDATA% | |
%PROGRAMFILES% | %SystemDrive%\Program Files |
%PROGRAMFILES(X86)% | %SystemDrive%\Program Files (x86) (only in 64-bit version) |
%PROMPT% | Code for current command prompt format. Code is usually $P$G |
%PSModulePath% | |
%PUBLIC% | |
{Drive}:\$Recycle.Bin | C:\Recycle.Bin |
%SystemDrive% | C: |
%SystemRoot% | The Windows directory, usually C:\Windows, formerly C:\WINNT |
%TEMP% and %TMP% | %SystemDrive%\Documents and Settings\{username}\Local Settings\Temp |
%USERDOMAIN% | {userdomain} |
%USERNAME% | {username} |
%USERPROFILE% | %SystemDrive%\Documents and Settings\{username} |
%WINDIR% | %SystemDrive%\Windows |
Variable | Windows Vista/7 |
%ALLUSERSPROFILE% | C:\ProgramData |
%APPDATA% | C:\Users\{username}\AppData\Roaming |
%COMPUTERNAME% | {computername} |
%COMMONPROGRAMFILES% | C:\Program Files\Common Files |
%COMMONPROGRAMFILES(x86)% | C:\Program Files (x86)\Common Files (only in 64-bit version) |
%COMSPEC% | C:\Windows\System32\cmd.exe |
%HOMEDRIVE% | C: |
%HOMEPATH% | \Users\{username} |
%LOCALAPPDATA% | C:\Users\{username}\AppData\Local |
%LOGONSERVER% | \\{domain_logon_server} |
%PATH% | C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;{plus program paths} |
%PATHEXT% | .com;.exe;.bat;.cmd;.vbs;.vbe;.js;.jse;.wsf;.wsh;.msc |
%PROGRAMDATA% | %SystemDrive%\ProgramData |
%PROGRAMFILES% | %SystemDrive%\Program Files |
%PROGRAMFILES(X86)% | %SystemDrive%\Program Files (x86) (only in 64-bit version) |
%PROMPT% | Code for current command prompt format. Code is usually $P$G |
%PSModulePath% | %SystemRoot%\system32\WindowsPowerShell\v1.0\Modules\ |
%PUBLIC% | %SystemDrive%\Users\Public |
{Drive}:\$Recycle.Bin | C:\$Recycle.Bin |
%SystemDrive% | C: |
%SystemRoot% | %SystemDrive%\Windows |
%TEMP% and %TMP% | %SystemDrive%\Users\{username}\AppData\Local\Temp |
%USERDOMAIN% | {userdomain} |
%USERNAME% | {username} |
%USERPROFILE% | %SystemDrive%\Users\{username} |
%WINDIR% | %SystemDrive%\Windows |
더 많은 내용은 아래를 참고하자.
http://en.wikipedia.org/wiki/Environment_variable