用Environ函数获取环境变量时Win7与WinXP的异同

来源:互联网 发布:263云通信企业版mac 编辑:程序博客网 时间:2024/05/16 04:37

http://bbs.pfan.cn/post-321537.html

 

用Environ函数获取环境变量时Win7与WinXP的异同

  环境变量是用来指定操作系统运行环境的一些参数,比如临时文件夹位置和系统文件夹位置等等。当你运行某些程序需要查找路径时,除了在当前文件夹中寻找外,还会到设置的默认路径中去查找。例如环境变量中有一个名为“Path”的变量,里面就存储了一些常用命令所存放的路径。
  默认的环境变量XP/2003共有30个,Windows 7有31个。环境变量又可分为系统变量和用户变量,默认的用户变量XP/2003有3个,Windows 7是2个,其余的都是系统变量。用户变量与系统变量的区别仅在于二者的作用域不同:用户变量只对这个用户有效,任何用户都可以添加、修改或删除本用户的环境变量;而系统环境变量对整个系统都有效,但只有管理员才能添加、修改或删除系统环境变量。
  在编程中可用下面的代码获取环境变量:
st = Environ(i)  'i = 1~30

  这样获取的环境变量字符串由三部分组成:等号、等号前面的变量名、等号后面的变量值。例如:
ALLUSERSPROFILE=H:/Documents and Settings/All Users

  也可以用指定变量名的方法来获取变量值,这也是编程中最常用的方法。例如:
st = Environ("ALLUSERSPROFILE")

  下面是一个获取全部环境变量的代码例子:
Private Sub Form_Load()
For i = 1 To 30 '如果操作系统是Windows 7请把循环终值改为31
  Debug.Print "【" & Right("0" & i, 2) & "】" &  Environ(i)
Next
End Sub

  但 Windows 7 的环境变量与 Windows XP/2003 的有些不同,除了数量不同外,有的变量名不同,有的是变量名虽然相同,但变量值不同,这样,我们在代码中引用 Environ 函数时就要注意了,以免不但达不到我们的预期目的,反而还造成不必要的损失。
  下面把 XP 与 Win7 默认的环境变量全部分别列出,以方便大家鉴别。

一、Windows XP/2003 下的环境变量(假设当前用户为一江秋水,系统装在H盘):
【01】ALLUSERSPROFILE=H:/Documents and Settings/All Users(所有用户文件夹路径)
【02】APPDATA=H:/Documents and Settings/一江秋水/Application Data(当前用户应用软件数据路径)
【03】CLIENTNAME=Console(客户机名称)
【04】CommonProgramFiles=H:/Program Files/Common Files(公用程序文件夹路径)
【05】COMPUTERNAME=604-3IKVQ1WE05J(计算机名)
【06】ComSpec=H:/WINDOWS/system32/cmd.exe(DOS命令执行文件全路径文件名)
【07】FP_NO_HOST_CHECK=NO(主机终止机制?存疑)
【08】HOMEDRIVE=H:(系统所在的驱动器)
【09】HOMEPATH=/Documents and Settings/一江秋水(当前用户文件夹路径,注意前面无盘符)
【10】KTD=H:/WINDOWS/Driver Packs(驱动包路径)
【11】LOGONSERVER=//ZDXS(当前登录的服务器)
【12】NUMBER_OF_PROCESSORS=1(处理器数量)
【13】OS=Windows_NT(操作系统内核)
【14】Path=H:/WINDOWS/system32;H:/WINDOWS;H:/WINDOWS/System32/Wbem;H:/Program Files/Common Files/Thunder Network/KanKan/Codecs
【15】PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
【16】PROCESSOR_ARCHITECTURE=x86(处理器架构或类型)
【17】PROCESSOR_IDENTIFIER=x86 Family 15 Model 1 Stepping 2, GenuineIntel(处理器 ID)
【18】PROCESSOR_LEVEL=15(处理器级数)
【19】PROCESSOR_REVISION=0102(处理器版本)
【20】ProgramFiles=H:/Program Files(公用程序文件夹路径)
【21】SESSIONNAME=Console(对话名称)
【22】SystemDrive=H:(系统所在的驱动器)
【23】SystemRoot=H:/WINDOWS(系统目录,与30项 WINDIR 相同)
【24】TEM=D:/Temp(用户变量,存放临时文件的目录)
【25】TEMP=D:/Temp(用户变量,存放临时文件的目录)
【26】TMP=D:/Temp(用户变量,存放临时文件的目录)
【27】USERDOMAIN=ZDXS(当前用户关联的网络域名,通常为主机名)
【28】USERNAME=一江秋水(当前用户名)
【29】USERPROFILE=H:/Documents and Settings/一江秋水(当前用户文件夹路径,注意前面有盘符)
【30】windir=H:/WINDOWS(系统目录,与23项 SYSTEMROOT 相同)

说明:
1.【14】这个变量包含了几个由分号隔开的路径,系统默认将会在这些文件夹中寻找可执行文件。如果你在“运行”中输入一个可执行程序的名字(如 ls、rc-update或者emerge)而它并不在这一系列文件夹中,那么你的系统将不会执行它(除非你输入命令的全路径,如/bin/ls)。

2.【15】列出了命令执行顺序。当我们在“运行”中输入 CMD 而不是 CMD.COM 的时候,系统怎么就打开 CMD.COM 而不打开 CMD.EXE 或者 cmd.txt 呢?这就是由该变量决定的。当我们在"运行"中输入CMD 的时候,系统会按照该变量中扩展名的书写顺序来一个个地匹配查找,如果.com 在前就执行cmd.com,而不执行 cmd.exe 或者其他名为 cmd 而扩展名不同的文件。 


二、Windows 7 下的环境变量(假设当前用户为Administrator):
【01】ALLUSERSPROFILE=C:/ProgramData(与第19项相同。所有用户配置文件夹路径,这是"All Users"的备份,隐藏属性)
【02】APPDATA=C:/Users/Administrator/AppData/Roaming(当前用户漫游应用数据文件夹路径,隐藏属性)
【03】CommonProgramFiles=C:/Program Files/Common Files(公共程序文件夹路径)
【04】COMPUTERNAME=WIN-31CJCVF3VTI(计算机名)
【05】ComSpec=C:/Windows/system32/cmd.exe(DOS命令执行文件全路径文件名)
【06】FP_NO_HOST_CHECK=NO(主机终止机制?)
【07】HOMEDRIVE=C:(系统所在的驱动器)
【08】HOMEPATH=/Users/Administrator(当前用户路径,注意前面无盘符)
【09】LOCALAPPDATA=C:/Users/Administrator/AppData/Local(当前用户本地应用数据文件夹路径,隐藏属性)
【10】LOGONSERVER=//WIN-31CJCVF3VTI(当前登录的服务器)
【11】NUMBER_OF_PROCESSORS=1(处理器数量)
【12】OS=Windows_NT(操作系统内核)
【13】Path=C:/Windows/system32;C:/Windows;C:/Windows/System32/Wbem;C:/Windows/System32/WindowsPowerShell/v1.0/
【14】PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC(可执行文件的扩展名及执行顺序)
【15】PROCESSOR_ARCHITECTURE=x86(处理器架构或类型)
【16】PROCESSOR_IDENTIFIER=x86 Family 15 Model 1 Stepping 2, GenuineIntel(处理器 ID)
【17】PROCESSOR_LEVEL=15(处理器级)
【18】PROCESSOR_REVISION=0102(处理器版本)
【19】ProgramData=C:/ProgramData(与第1项相同。所有用户配置文件夹路径,这是"All Users"的备份,隐藏属性)
【20】ProgramFiles=C:/Program Files(公用程序文件夹路径)
【21】PSModulePath=C:/Windows/system32/WindowsPowerShell/v1.0/Modules/
【22】PUBLIC=C:/Users/Public(公共用户配置文件夹路径)
【23】SESSIONNAME=Console(对话名称)
【24】SystemDrive=C:(系统所在的驱动器)
【25】SystemRoot=C:/Windows(系统路径,与30项 windir 相同)
【26】TEMP=E:/Temp(用户变量路径,存放临时文件)
【27】TMP=E:/Temp(用户变量路径,存放临时文件)
【28】USERDOMAIN=WIN-31CJCVF3VTI(当前用户关联的网络域名,通常以主机名代替)
【29】USERNAME=Administrator(当前用户名)
【30】USERPROFILE=C:/Users/Administrator(当前用户文件夹路径,注意前面有盘符)
【31】windir=C:/Windows(系统目录,与25项 SystemRoot 相同)

  说明:
1.对【13】、【14】项的说明参看上面 XP/2003 的有关说明。

2.Windows 7 不管你将它装在哪个盘,它都会把系统所在盘符改为 C:,其余的盘符全都依次推后一个字母。例如,笔者把 Windows 7 装在H盘(C盘装XP),但进入Windows 7系统后,它所在的H盘变为了C盘,而装 XP的变为了D盘,其余的盘符都依次后推了一个字母。所以在编程中也要对这一点加以注意。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 千牛重新获取enc-k怎么办 为什么说不能获取对方信息怎么办 qq炫舞客户端被修改怎么办 win7玩穿越卡顿怎么办 玩dnf就蓝屏怎么办win7 平板玩fgo闪退怎么办 微信总是说空间不足怎么办 激活卡时遇到服务器错误怎么办 悦平台服务器错误是怎么办 手机银行提示登录服务器错误怎么办 qq漂流瓶封了怎么办 我的世界被冻结怎么办 qq里被屏蔽了怎么办 qq领手游礼包账号存在异常怎么办 笔记本电脑太卡怎么办最有效 华为平板电脑忘记开机密码怎么办 平板电脑忘记开机密码怎么办 平板电脑忘了开机密码怎么办 qq文件已被损坏怎么办 斗地主没痘了怎么办 熹妃q传金币不够用怎么办 苹果手机玩王者卡怎么办 苹果6玩王者荣耀卡怎么办 苹果macbook开不了机怎么办 苹果7震动像拖拉机一样怎么办 win10笔记本玩lol卡怎么办 苹果笔记本密码忘了怎么办 苹果笔记本系统密码忘记了怎么办 qq加好友频繁了怎么办 淘宝买食品有问题怎么办 手机的设置图标没有了怎么办 国家创业贷款还不了会怎么办 手机mac显示:不好使.怎么办? 英雄联盟买皮肤重复怎么办 皮肤很油毛孔又粗怎么办 笔记本电脑玩英雄联盟卡怎么办 win10系统更新不动了怎么办 win7任务栏时间没了怎么办 win10桌面图标都没了怎么办 win10软件图标没了怎么办 电脑内存插板没用了怎么办