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

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盘,其余的盘符都依次后推了一个字母。所以在编程中也要对这一点加以注意。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值