Window 常用系统变量

转载:http://www.slyar.com/blog/envionment-variables.html

转载:http://blog.csdn.net/wuliusir/article/details/20035043

环境变量一般是包含在一对 "%" 号之间的,你可以在 CMD 下输入 "set" 来查看系统所有的环境变量,这里我说几个默认的而且非常常用的环境变量。

假设我的操作系统为 Windows XP ,我的用户名为 Slyar

%HOMEDRIVE% = C:

指的是引导分区的根目录,一般都是 C:

%windir% = C:WINDOWS

指的是 Windows 的安装文件夹。
在 Windows XP、Windows 2003 下这个变量一般是 C:WINDOWS
在 Windows 2000、Windows 98、Windows me 下这个变量一般是 C:WINNT

%SystemRoot% = C:WINDOWS

这个同样指的是 Windows 的安装文件夹,应该是等于 %windir% 的。只是据我研究, %systemroot% 变量可能在 Windows 95 或者 Windows 98 的机器上不存在。因此对于早期的 Windows 系统,最好使用 %windir% ,而对于 Windows XP 或者 Windows 2003 来说,两者都可以使用。

%USERPROFILE% = C:Documents and SettingsSlyar

这个指的是当前用户 Profile 文件的位置,一般都是 C:Documents and Settings你的用户名

%HOMEPATH% = C:Documents and SettingsSlyar

这个指的是系统当前用户主目录的完整路径,用户主目录是在"本地用户和组"中指定的,默认是 C:Documents and Settings你的用户名

%APPDATA% = C:Documents and SettingsSlyarApplication Data

这个指的是应用程序数据的位置,默认是C:Documents and Settings你的用户名Application Data

%temp% = C:Documents and SettingsSlyarLocal SettingsTemp
%tmp% = C:Documents and SettingsSlyarLocal SettingsTemp

这个指的是当前登录用户可用的应用程序所使用的默认临时目录,有些应用程序需要 TEMP,还有一些应用程序需要 TMP。 默认都是 C:Documents and Settings你的用户名Local SettingsTemp

%programfiles% = C:Program Files

这个指的是程序安装目录,默认是 C:Program Files

你可以通过在"资源管理器"或者"我的电脑"的地址栏直接输入环境变量来访问环境变量所指向的文件夹,当然你也可以在"我的电脑(属性)--高级--环境变量--新建"或者"在CMD下使用 set 命令"自己设置环境变量方便自己访问。

环境变量 路径
%ALLUSERSPROFILE% C:ProgramData
%APPDATA% C:Users用户名AppDataRoaming
%COMMONPROGRAMFILES% C:Program FilesCommon Files
%COMMONPROGRAMFILES(x86)% C:Program Files (x86)Common Files
%COMSPEC% C:WindowsSystem32cmd.exe
%HOMEDRIVE%和%SystemDrive% C:
%HOMEPATH% C:Users用户名
%LOCALAPPDATA% C:Users用户名AppDataLocal
%PROGRAMDATA% C:ProgramData
%PROGRAMFILES% C:Program Files
%PROGRAMFILES(X86)% C:Program Files (x86)
%PUBLIC% C:UsersPublic
%SystemRoot% C:Windows
%TEMP%和%TMP% C:Users用户名AppDataLocalTemp
%USERPROFILE% C:Users用户名
%WINDIR% C:Window

例子:

#include <iostream>
#include <windows.h>
#include <shlobj.h>
#pragma comment(lib, "shell32.lib")

using namespace std;

int main()
{
    TCHAR szText[MAX_PATH + 1] = { 0 };
    SHGetSpecialFolderPath(0, szText, CSIDL_MYDOCUMENTS, 0);

    wcout << szText << endl;
    getchar();

    return 0;
}
原文地址:https://www.cnblogs.com/chechen/p/6369133.html